Czy możesz mi powiedzieć, co dokładnie się dzieje, gdy edytujemy plik Web.config (w czasie wykonywania) na serwerze IIS.
Czy aplikacja zależna od pliku web.config jest automatycznie uruchamiana ponownie? Jeśli tak, czy można anulować automatyczne ponowne uruchomienie (lub ponowne załadowanie pliku web.config)?
iis
web.config
Bastien Vandamme
źródło
źródło
Odpowiedzi:
Domena aplikacji ASP.NET jest restartowana za każdym razem, gdy „dotkniesz” pliku web.config. Możliwe jest wyłączenie Powiadomienia o zmianie pliku (FCN) dla folderu, ale zazwyczaj nie jest to najlepszy zakład, jeśli możesz mu pomóc. Jeśli ją wyłączysz, oznacza to po prostu, że musisz ręcznie ponownie przetworzyć pulę aplikacji, aby zmiany odniosły skutek.
Przed IIS7 tylko zmiany ASP.NET powodowałyby ponowne uruchomienie AppDomain, ale w IIS7 i wielu ustawieniach w web.config jest to częstszy problem. tj. zmiana domyślnego dokumentu w Menedżerze IIS 7 spowoduje, że AppDomain będzie teraz przetwarzać ponownie.
Najlepiej jest po prostu obniżyć współczynnik zmian lub czasami zastosować zmianę do applicationHost.config (co nie powoduje recyklingu AppDomain), a nie web.config.
źródło
Aplikacja korzystająca z pliku web.config uruchomi się ponownie po zmianie, więcej informacji znajdziesz tutaj:
http://msdn.microsoft.com/en-us/library/ms178473.aspx
Nie znam żadnego sposobu, aby temu zapobiec (i nie jestem pewien, dlaczego chcesz - być może możesz podać więcej szczegółów na temat tego, co próbujesz osiągnąć).
źródło
FYI - W programie ASP.NET 2.0 można użyć wbudowanych zdarzeń monitorowania kondycji do rejestrowania restartów aplikacji wraz z przyczyną ponownego uruchomienia. Umożliwi to jasne udokumentowanie, kiedy i jak często występuje. Dokonuje się tego poprzez edycję głównego pliku web.config dla komputera.
Po więcej informacji:
http://blogs.msdn.com/tess/archive/2006/08/02/asp-net-case-study-lost-session-variables-and-appdomain-recycles.aspx
źródło
[TYLKO UWAGA]
Wiem, że to stary, ale nadal zasługuje na uwagę.
Scott Forsyth - odpowiedź MVP jest niepoprawna.
To jest źle.
Odpowiedź „trzepaczka” jest najbardziej poprawną technicznie i kompletną odpowiedzią, ponieważ zawiera link do MSDN, który zawiera jeden ważny szczegół:
Jest to szczególnie ważne, gdy mówimy o usługach internetowych. Oznacza to, że może być w porządku bezpieczne ponowne uruchomienie w ciągu dnia.
źródło