IIS 서버에서 Web.config (런타임)를 편집 할 때 정확히 어떤 일이 발생하는지 말씀해 주시겠습니까?


11

IIS 서버에서 Web.config (런타임)를 편집 할 때 정확히 어떤 일이 발생하는지 알려줄 수 있습니까?

web.config에 의존하는 응용 프로그램이 자동으로 다시 시작됩니까? 그렇다면 자동 재시작을 취소하거나 web.config를 다시로드 할 수 있습니까?


파일 액세스 감사를 켜서 수정 한 후 IIS가 web.config를 읽는지 여부를 확인할 수 있습니다.
Eric H

답변:


10

web.config를 '터치'할 때마다 ASP.NET AppDomain이 다시 시작됩니다. 폴더에 대해 파일 변경 알림 (FCN)을 해제 할 수 있지만 일반적으로 도움이 될 수있는 최선의 방법은 아닙니다. 이 기능을 끄면 변경 사항을 적용하기 위해 앱 풀을 수동으로 재활용해야 함을 의미합니다.

IIS7 이전에는 ASP.NET 변경만으로도 AppDomain이 재활용되지만 IIS7 및 web.config에있는 많은 설정에서는 더 일반적인 문제입니다. 즉, IIS 7 관리자에서 기본 문서를 변경하면 AppDomain이 재활용됩니다.

이상적으로는 변경 속도를 낮추거나 web.config 대신 applicationHost.config (AppDomain 재활용을 유발하지 않음)에 변경 사항을 적용해야합니다.


4

web.config를 사용하는 응용 프로그램은 변경하면 다시 시작됩니다. 자세한 내용은 여기에 있습니다.

http://msdn.microsoft.com/en-us/library/ms178473.aspx

나는 이것이 일어나지 못하게하는 방법을 모른다. (그리고 왜 당신이 원하는지 확실하지 않다. 아마도 당신이 달성하려는 것에 대해 더 많은 세부 사항을 제공 할 수있다.)


3

참고-ASP.NET 2.0에서는 기본 제공 상태 모니터링 이벤트를 사용하여 다시 시작 이유와 함께 응용 프로그램 다시 시작을 기록 할 수 있습니다. 이를 통해 언제, 얼마나 자주 발생하는지 명확하게 문서화 할 수 있습니다. 머신의 마스터 web.config를 편집하면됩니다.

자세한 내용은:

http://blogs.msdn.com/tess/archive/2006/08/02/asp-net-case-study-lost-session-variables-and-appdomain-recycles.aspx


3

[참고]

나는 이것이 오래된 것임을 알고 있지만 이것은 여전히 ​​주목할 가치가 있습니다.

Scott Forsyth-MVP 답변 이 잘못되었습니다.

web.config를 '터치'할 때마다 ASP.NET AppDomain이 다시 시작됩니다.

이것은 잘못이다.


Whisk 답변 MSDN에 대한 하나의 중요한 세부 정보가포함 된 링크를 포함 하므로 기술적으로 가장 정확하고 완전한 답변입니다.

응용 프로그램을 다시 시작해야하는 경우 ASP.NET은 응용 프로그램 도메인을 다시 시작하고 새 어셈블리를로드하기 전에 기존 응용 프로그램 도메인과 이전 어셈블리의 모든 보류중인 요청을 처리합니다.

이것은 웹 서비스를 이야기 할 때 특히 중요합니다. 이것은 정오 다시 안전하게 시작해도 괜찮다는 것을 나타냅니다.

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