Chcielibyśmy ogrzać aplikację ASP.NET MVC hostowaną na serwerze IIS 7.5. Moduł rozgrzewania, który był wcześniej dostępny pod adresem http://forums.iis.net/t/1176740.aspx, został usunięty od jakiegoś czasu.Jak rozgrzać aplikację ASP.NET MVC w IIS 7.5?
Aplikacja powinna być rozgrzana za każdym razem, gdy proces roboczy IIS lub ASP.NET zostanie ponownie uruchomiony z dowolnego powodu. Podczas okresu rozgrzewania usługi IIS powinny zwracać kod stanu HTTP oznaczający stan rozgrzewki lub niemożność obsługi klientów.
Czy utworzenie pliku wykonywalnego, który porusza się po niezbędnych stronach w witrynie za pośrednictwem HttpRequests, byłby dobrym pomysłem? Plik wykonywalny można wyzwolić z implementacji IProcessHostPreloadClient. Czy możliwe jest skonfigurowanie usług IIS tak, aby przyjmował tylko żądania z hosta lokalnego, a po wykonaniu pliku wykonywalnego może on przełączać się na wszystkich klientów - ale ten przełącznik nie powinien uruchamiać restartu usług IIS (oczywiście).
Czy można użyć programu Visual Studio 2010 - Web Performance Test do rozgrzania aplikacji zamiast tworzenia pliku wykonywalnego? Jakieś inne alternatywy?
PS: Aplikacja korzysta z uwierzytelniania za pomocą formularzy i korzysta z sesji - dlatego ważne jest zachowanie pliku cookie dotyczącego stanu i innych plików cookie.
AKTUALIZACJA 1 - W naszej aplikacji korzystamy z platformy .NET Framework 4.0 i Entity Framework (baza danych). Pierwsze trafienia do zapytań EF są powolne. Powodem rozgrzewki jest wyeliminowanie tych pierwszych trafień. Używamy już skompilowanych zapytań w większości miejsc i wprowadziliśmy wstępnie skompilowane widoki EF. Rozmiar modelu i aplikacji jest bardzo duży i złożony. Rozgrzewka wymaga przejścia przez wiele stron, aby zapewnić, że skompilowane i niezkładane kwerendy EF zostaną wykonane co najmniej raz, zanim dowolny użytkownik końcowy uzyska dostęp do aplikacji.
Powiązane: http://stackoverflow.com/questions/13250679/how-to-warm-up-entity-framework-when-does-it-get-cold –
Spróbuj sprawdzić [moje rozwiązanie] (http: // stackoverflow.com/questions/15348621/iis-7-5-application-initialization-for-asp-net-web-service-warmup-without-rema/15367638?noredirect=1#comment33723748_15367638). Nie zwróci specjalnego kodu statusu, ale zamiast tego oczekuje na rozgrzewkę, aby odpowiedzieć na żądania. – Jason