문제
웹 응용 프로그램의 객체에서 정적 속성을 변경해야합니다. 속성에는 객체에 하드 코딩 된 기본값이 있습니다. 내 응용 프로그램의 정적 속성을 변경하면 _start가 해당 변경 스틱을 수행합니다.
a) 영원히 (음, 앱이 재활용 될 때까지)
b) 물체가 GC가 될 때까지 다음 액세서에 의해 다시 생성됩니다.
c)에 따라 다릅니다
내가 설정하고있는 속성은 단지 문자열 일뿐입니다.
해결책
정적 변수의 범위는 AppDomain입니다. 아니요, 쓰레기가 수집되지는 않지만 AppDomain이 재활용되면 (ASP.NET에서 상당한 금액이 발생할 수 있음) "새로운"정적 변수가 효과적으로 나타납니다.
다른 팁
여기서 웹 앱에 대한 나의 경험에서, 답은 A입니다. 내가 아는 한, 정적 클래스는 절대로 gced되지 않을 것이며, 프로세스의 수명을 위해 계속됩니다 (이 경우 ASP.NET Worker 프로세스).
A) 앱 인스턴스 변수로 이동하십시오
컨텍스트 스토리지는 httpcontext를 참조하십시오.
제휴하지 않습니다 StackOverflow