2013-07-09 13 views
9

Konfiguruję Auto-Start ASP.NET w mojej roli sieciowej Windows Azure (Używam programów ASP.NET 4.5 i IIS 8 w systemie Windows Server 2012). Zasadniczo podążałem za those instructions.Program IIS Auto-Start nie wyłączający limitu czasu bezczynności

Ustawiam startMode="AlwaysRunning" na puli aplikacji i preloadEnabled="true" na stronie internetowej za pomocą metody OnStart webrole.

Użyłem dostępu zdalnego i zweryfikowałem, że te dwie właściwości są poprawnie ustawione (przez Menedżera usług IIS, a także sprawdzanie pliku applicationHost.config).

Dodałem też to do pliku web.config:

<applicationInitialization skipManagedModules="true"> 
    <add initializationPage="/" /> 
</applicationInitialization> 

Ten page mówi bezczynności powinna być wyłączona, gdy auto-start jest włączona. Jednak z mojego logu wynika, że ​​tak nie jest, pula aplikacji zostaje ponownie uruchomiona po jakiejś bezczynności. Mogę również zauważyć, że w dzienniku zdarzeń (kilka razy w ciągu 6 godzin):

Proces roboczy z procesu id „772” obsługujących pulę aplikacji „cf9d3284-6454-4bbf-8a8e-efd73df4ed83” było wyłączenie z powodu do bezczynności. Konfiguracja limitu czasu puli aplikacji została ustawiona na 20 minut. W razie potrzeby zostanie uruchomiony nowy proces roboczy.

Dziwne, że wydaje się, że nowa pula aplikacji jest uruchamiana natychmiast po zalogowaniu, nawet jeśli nie ma żądanej strony. Więc jeśli nie otrzymam jednego żądania w ciągu godziny, pula aplikacji jest ponownie przetwarzana i ponownie uruchamiana 3 razy (potwierdziłem to z dzienników). Czy moja konfiguracja jest nieprawidłowa, czy też coś mi brakuje?

Odpowiedz

0

(http://developers.de/blogs/damir_dobric/archive/2009/10/11/iis-7-5-and-always-running-web-applications.aspx)

i zmagali się wiele w tej kwestii. Zrobiłem wszystko, co mogłem, aby utrzymać moje usługi przy życiu w IIS, ale ostatecznie zmęczyłem się i musiałem przyjąć inne podejście. Stworzyłem usługę Windows tylko po to, aby utrzymać pulę aplikacji przy życiu. Jednym podejściem, które możesz spróbować, jest przejrzenie pliku konfiguracyjnego IIS i sprawdzenie, czy konfiguracja, którą wprowadziłeś, znajduje odzwierciedlenie w tym pliku konfiguracyjnym. Zobacz link na górze. Ale twoja konfiguracja zostanie zresetowana przy restarcie puli aplikacji, niezależnie od tego, kiedy ustawisz przejście w tryb uśpienia. Być może będziesz musiał podejść z jakimś podejściem.

6

Ustawienie trybu uruchamiania na Zawsze działające samo nie działało również dla mnie, ale ustawienie limitu czasu bezczynności na 0 w ustawieniach Advances wprowadzono w puli aplikacji.

Application pool Advanced Settings