2010-06-27 5 views
2

IIS에서 호스트되는 ASP.NET 응용 프로그램에서 인스턴스화 된 형식의 정적 필드를 선언하면 사용되는 모든 작업자 스레드에서 사용되는 동일한 변수 (즉, 동일한 메모리 위치)입니다 동시성 문제를 여는 IIS에 의해?IIS가 호스트하는 웹 응용 프로그램의 정적 변수

답변

5

예. 정적 변수는 전체 AppDomain에서 공유되므로 해당 AppDomain에있는 모든 작업자 스레드가 해당 변수의 동일한 "인스턴스"를 공유한다는 의미입니다.

정적 변수는 일반적으로 웹 응용 프로그램과 같이 동시 처리가 많은 응용 프로그램에 적합하지 않습니다. 특정 시나리오에 따라 session variables을 고려하십시오.

+0

주어진다; 모든 정적 * 메서드가 IIS 기반 웹 응용 프로그램에서 재진입해야합니까? – Ben

+1

@ 벤 : 예, 물론입니다. 웹 응용 프로그램은 데스크톱 응용 프로그램보다 재 입력 문제에 훨씬 더 민감합니다. –

관련 문제