문제

웹 응용 프로그램의 객체에서 정적 속성을 변경해야합니다. 속성에는 객체에 하드 코딩 된 기본값이 있습니다. 내 응용 프로그램의 정적 속성을 변경하면 _start가 해당 변경 스틱을 수행합니다.

a) 영원히 (음, 앱이 재활용 될 때까지)

b) 물체가 GC가 될 때까지 다음 액세서에 의해 다시 생성됩니다.

c)에 따라 다릅니다

내가 설정하고있는 속성은 단지 문자열 일뿐입니다.

도움이 되었습니까?

해결책

정적 변수의 범위는 AppDomain입니다. 아니요, 쓰레기가 수집되지는 않지만 AppDomain이 재활용되면 (ASP.NET에서 상당한 금액이 발생할 수 있음) "새로운"정적 변수가 효과적으로 나타납니다.

다른 팁

여기서 웹 앱에 대한 나의 경험에서, 답은 A입니다. 내가 아는 한, 정적 클래스는 절대로 gced되지 않을 것이며, 프로세스의 수명을 위해 계속됩니다 (이 경우 ASP.NET Worker 프로세스).

A) 앱 인스턴스 변수로 이동하십시오

컨텍스트 스토리지는 httpcontext를 참조하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top