2013-10-29 2 views
0

미리 작성된 asp 웹 사이트를 단일 작업자 프로세스 환경에서 여러 클라우드 서버의 작업자 프로세스 환경으로 이동해야했습니다. 추적 목적으로 모든 세션 정보의 마지막 2 분을 포함하는 데 사용되는 정적 arraylist 변수가있는 클래스가 있습니다. 관리자는 라이브 보고서를보기 위해이 arraylist에 액세스하는 데 사용합니다. 그러나이를 클라우드 인프라 스트럭처로 옮기면 결과가 더 이상 올바르지 않게됩니다. 로드 밸런서 뒤에있는 서버가 페이지를 제공하는 방식에 따라 다르므로 응용 프로그램 풀당 정적 변수의 인스턴스가 여러 개 있습니다. 나는 mysql로 ​​이동하려했지만 정기적으로 데이터를 플러시해야했고 성능 문제도 있었다. 여기서 arraylist는 유용한 데이터를 대량으로 처리하기 때문에 기억에 남는 것이 필요합니다.작업자 프로세스의 모든 인스턴스간에 변수를 공유하는 방법 asp.net

또한 잠금을 사용하지 않고 정적 변수를 사용하는 것은 단점이 있지만 1 ~ 2 개의 레코드 차이 만 가져 왔지만 빠르게 타격을 가했음을 유의하십시오.

+0

어떤 클라우드 플랫폼을 사용하고 있습니까? – greg84

+0

iis 7의 랙 공간에서 호스팅된다는 것을 모릅니다. – Ratna

답변

0

SQL 서버 기반 세션 저장으로 세션 백업을 고려할 수 있습니다. 또는 응용 프로그램 캐싱 서버를 사용하여 다시 백 업할 수 있습니다. 그러면 여러 웹 서버에서 공유 할 수 있습니다.

관련 문제