[asp.net] web.config를 편집하면 어떻게됩니까?

라이브 Sharepoint 환경에서 web.config 파일을 편집해야하지만 그렇게하면 어떻게 될지 모르겠습니다 (사용자 지정 오류를 출력하고 싶습니다).

이로 인해 IIS6 작업자 프로세스가 재활용됩니까?

이로 인해 활성 사용자가 세션 상태를 잃게됩니까?

아니면 안전하게 파일을 편집 할 수 있습니까?



답변

응용 프로그램 풀이 다시 시작되고 세션 상태가 손실됩니다. 각 ASP.NET 응용 프로그램 (IIS에 정의 됨)이 데스크톱의 프로그램이라고 가정 해보십시오. web.config를 저장하면 프로그램을 닫고 다시 여는 것과 비슷한 작업이 수행됩니다.


답변

  1. 예. 재활용됩니다.
  2. 예. 세션을 잃게됩니다.
  3. 예. 파일을 안전하게 편집 할 수 있습니다. 이 MSDN 문서 : Windows SharePoint Services에서 web.config 파일 작업 을 읽는 것이 좋습니다.


답변

또한 세션 상태가 out-of-process (데이터베이스 또는 서비스)로 구성된 경우 앱 풀을 재활용 해도 세션 상태가 손실 되지 않습니다 . 이것은 바닐라 ASP.Net과 마찬가지로 Sharepoint에서도 마찬가지입니다.


답변

web.config를 편집하면 해당 웹 응용 프로그램의 AppDomain (AppPool 아님)이 다시 시작되고 사용중인 모든 리소스와 메모리가 지워집니다. 따라서 해당 앱 풀에서 실행되는 다른 웹 애플리케이션은 영향을받지 않습니다. 또한 세션 (in-proc) 및 메모리 캐시를 지 웁니다.


답변

일부 사람들이 이미 언급했듯이 IIS에서 사이트의 응용 프로그램 풀이 다시 시작됩니다 (일반적으로 몇 초 소요). 결과적으로 다음 페이지 요청이 더 느려집니다 (아무것도 더 이상 캐시되지 않기 때문에). 또한 사용자의 세션 상태가 손실됩니다. 그러나 WSS 세션 상태에서는 기본적으로 사용되지 않으며 MOSS에서는 InfoPath Form Services에서 사용됩니다. 따라서 세션 상태 손실과 관련된 큰 문제가 없을 수 있습니다.

다른 쪽에서; 이러한 문제를 극복하기 위해 일반적으로 수행되는 작업은 타이머 작업을 배포하고 시작하는 WSP (SharePoint 솔루션)를 만들어 코드에서 web.config를 변경하는 것입니다 (개체 모델의 SPWebConfigModification 클래스 사용). 좋은 점은 변경 실행을 예약 할 수 있으므로 사용자가 알아 차리지 못할 수 있다는 것입니다.


답변