2015-04-27 14 views
5

Po przeniesieniu wszystkich moich rozwiązań do nowo zainstalowanej maszyny (co powoduje, że myślę, że jest to problem z konfiguracją), mam teraz ten problem z moją siecią MVC 5 Aplikacje).Application_Start() wywołana dwukrotnie w hostowanej aplikacji IIS7.5 MVC 5

Kiedy tworzę moją aplikację internetową (VS 2013), to oczywiście regeneruje cały kod WWW, a IIS ponownie uruchomi aplikację po załadowaniu następnej strony. Jednak teraz wydaje się, że kiedy wchodzę na moją stronę start/login, funkcja Application_Start() jest uruchamiana zgodnie z oczekiwaniami, ale kiedy strona zostanie przesłana, zanim zostanie osiągnięta metoda HttpPost, cała aplikacja wydaje się zaczynać od nowa (Application_Start działa ponownie). Ten drugi start wydaje się występować przed wywołaniem pierwszej funkcji Application_End() ... ale niezależnie od sekwencji nie mam pojęcia, dlaczego jest to teraz problem.

Sprawdzanie przyczyny zamknięcia aplikacji w Application_End() Dostaję notorycznie niejasne (i najwyraźniej całkowicie nieudokumentowane) "BuildManagerChange" ... które MSDN podaje jakiś absurdalnie niejasny opis.

Czy ktoś ma pojęcia, dlaczego to się zaczęło po załadowaniu mojego środowiska programistycznego na nową maszynę. Oba komputery to Win7 Pro z IIS7.5 i wydaje mi się, że konfiguracja IIS jest identyczna ze starszą (choć najwyraźniej nie ??). Kod źródłowy/web.config/etc nie zmienił się między maszynami.

Jedyna dokumentacja, jaką mogłem znaleźć w tym wydaniu dotyczyła użycia IISExpress, jednak korzystam ze standardowego IIS7.5 zainstalowanego z Win7 pro.

Edycja: Po usunięciu całego kodu niestandardowego z całego uruchamiania witryny i przywróceniu mojego kontrolera Login z powrotem do jego oryginalnej prostej formy (bez niestandardowego kodu), to nadal występuje.

+2

Cóż, marnowanie 2 dni na to była zabawa! Ale zostało to rozwiązane. Uruchomienie programu procmon wykazało, że hash.web był dostępny przez mcshield.exe (McAfee AV). Najwyraźniej "na żywo" skaner dostępu sprawdza pamięć podręczną asp.net i jakoś IIS zdaje sobie z tego sprawę i uważa, że ​​musi ponownie zbudować witrynę. Z jakiegoś powodu McAfee nie sprawdza tego po raz pierwszy, więc działa normalnie po drugiej kompilacji/restarcie. Dodałem wykluczenie skanera do folderu c: \ Windows \ Microsoft.NET, który prawdopodobnie rozwiązał problem. – barbrady

+1

Powinieneś przenieść swój komentarz do odpowiedzi i zaakceptować go. – ps2goat

+0

Zrobione, dziękuję ... – barbrady

Odpowiedz

8

Cóż, marnowanie 2 dni na to była zabawa! Ale zostało to rozwiązane. Uruchomienie programu procmon wykazało, że hash.web był dostępny przez mcshield.exe (McAfee AV). Najwyraźniej "na żywo" skaner dostępu sprawdza pamięć podręczną asp.net i jakoś IIS zdaje sobie z tego sprawę i uważa, że ​​musi ponownie zbudować witrynę. Z jakiegoś powodu McAfee nie sprawdza tego po raz pierwszy, więc działa normalnie po drugiej kompilacji/restarcie. Dodałem wykluczenie skanera do folderu c: \ Windows \ Microsoft.NET, który prawdopodobnie rozwiązał problem. -

+0

Dzięki za to - zajęło mi to tylko 1/2 dnia, aby to znaleźć, uratował mnie półtora dnia! Właśnie w tym tkwił mój problem, zaraz po załadowaniu strony McAfee zeskanował ją iz jakiegoś powodu spowodował ponowne uruchomienie aplikacji Application_Start (bez trafienia Application_End, którą mógłbym dodać). –

+0

Dzięki, mam również zainstalowaną mcafee – gavin

Powiązane problemy