web.config를 편집하면 어떻게됩니까?


79

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

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

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

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


응용 프로그램 재설정 세션이 잃어버린되지 않습니다 원인 있도록, 원격 시스템에 배치 할 수있는 세션을 정의 할 수 있습니다
Kamarey

답변:


78

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


10
IIS6에 대해서는 확실하지 않지만 IIS7 및 IIS8에서는 이것이 기본 동작이지만 응용 프로그램 풀> 고급 옵션> 재활용> 구성 변경에 대해 재활용 비활성화 = true 를 통해 변경할 수 있습니다. 예를 들어 프로덕션 환경에 유용합니다. 관리자는 다음 재활용 때까지 적용 할 필요가없는 변경을 수행 할 수 있습니다. Sharepoint를 사용하면 특정 시간에 적용되도록 변경 사항을 예약하는 방법이 있습니다.
nothingisnecessary

3
@nothingisnecessary 그러나 설정 Application Pools > Advanced Options > Recycling > Disable recycling 자체 가 앱 풀 재활용을 유발합니까? 거북이 끝까지 내려 오나요?
D' Arcy Rittich

1
안녕하세요 @DanGoldstein. 프로그램을 닫고 다시 여는 것과 비슷한 것을 언급 합니다. 정적 상태는 어떻습니까? 정적 상태 보장은 Web.config의 편집에 의해 전멸한다? 그 이유는 정적 변수에 일부 web.config 항목을 캐시하기 때문입니다.
Dirk Boer

솔직히 나는 이것에 대한 좋은 정보원이 아니다. 내가 대답했을 때 나는 IIS와 ASP.Net을 풀 타임으로 사용하고있었습니다. 저는 요즘 취미 소프트웨어 개발자 일뿐입니다.
Dan Goldstein

@DirkBoer 제가 여기있는 모든 이유는 귀하의 질문에 대한 확실한 답을 찾기 위해서입니다. 내 경험상 web.config를 편집해도 정적 속성에는 영향을 미치지 않습니다.
Alex Dresko


9

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


2

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


1

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

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.