2009-05-14 14 views
5

Rozpocząłem pracę w nowej firmie, a główny projekt, nad którym pracuję (projekt aplikacji sieci Web ASP.NET 3.5) zajmuje zbyt dużo czasu, aby początkowo wczytać (Około 1,5 minuty)Projekt aplikacji sieci Web ASP.NET 3.5 zajmuje dużo czasu, aby początkowo załadować

Mam świadomość, że na ogół jest to charakter projektów aplikacji internetowych, ale moim problemem jest to zbyt długo.

Ive próbowałem kilka rzeczy, aby spróbować dokładnie określić, co może być przyczyną tego opóźnienia łącznie Wymiana web.config ze świeżym stworzonej z nowym projektem rozjaśniająca wszystko z moim app_start w moim web.config usunięte wszystkie weppart bibliotek DLL z mojego folderu bin (który zostawia mnie z 19 bibliotekami DLL w moim katalogu bin, w tym 6 z biblioteki korporacyjnej MS)

i wciąż trwa ładowanie bardzo długo.

Zastanawiałem się, czy ktoś ma jakieś wskazówki, w jaki sposób można przejść o znajdowaniu się, co powoduje tak wielką czas ładowania lub jakichkolwiek narzędzi, które pomogłyby mi zobaczyć co moja aplikacja robi gdy zaczyna

dzięki -Kris

+0

Czy przejrzałeś kod? Może to inicjowanie bazy danych lub czegoś. –

+2

Język jest tu trochę niejednoznaczny. Kiedy mówisz, że projekt aplikacji sieciowej ma na myśli ładowanie projektu w Visual Studio, czy odnosisz się do czasu uruchomienia aplikacji w IIS podczas początkowego trafienia? –

+0

Hi Rex, im odnoszą się do czasu uruchamiania aplikacji w IIS na pierwsze trafienie (lub w tym przypadku wbudowany serwer VS) – Lightweight

Odpowiedz

2

Wypróbuj warm-up script.

JetBrains DotTrace to doskonały profiler ASP.NET.

+1

Dzięki Chris, ale mój problem dotyczy pracy nad projektem, tj. Opracowania kodu> kompilacji> spojrzenia na zmiany - nie mogę zaplanować rozgrzewki co 5 minut – Lightweight

+1

+1 dla zalecenia DotTrace - załóż to na stronę i zobacz, co robi czas ładowania. Zwróć także uwagę na wykorzystanie pamięci i wykorzystanie processeora - czy to w3wp zabiera wszystkie zasoby, czy coś innego? –

+0

Cześć Chris, muszę być ślepy, nie widziałem drugiej linii, wspominając DotTrace, dziękuję – Lightweight

0

Ile projektów tam jest? Jeśli masz stosy złożeń i bibliotek dll w katalogu bin, może to znacznie spowolnić ładowanie (nawet jeśli są one dość małe). To najlepsze, co mogę zasugerować.

+0

Jest jeszcze 8 innych projektów, które nie wydają się takie złe dla mnie. istnieje wiele bibliotek DLL, dlatego próbowałem usunąć je wszystkie i testowałem czas ładowania, ale wciąż nie miałem radości :( – Lightweight

0

Spróbuj użyć programu SQL Profiler i obserwuj powiązaną aktywność bazy danych podczas uruchamiania.

Są szanse, że na początku widoku strony pojawia się ładunek zapytań, które inicjują różne pamięci podręczne.

W takim przypadku można skoncentrować się na optymalizacji zapytań, które powodują największą blokadę.

3

W programie .NET 2.0 dostępne jest jeszcze jedno. Jeśli masz jakieś podpisane złoenia w twoim folderze bin, CLR próbuje połączyć się z adresem URL VeriSign i pobiera listę odwołania certyfikatów, aby sprawdzić, czy są one prawidłowe.

Może to również pochłonąć część czasu uruchamiania. Jeśli uważasz, że może to przyczyniać się do problemu to można spojrzeć na następujących artykułów MS:

http://digital.ni.com/public.nsf/allkb/18E25101F0839C6286256F960061B282 
http://support.microsoft.com/kb/936707 

Aby poradzić sobie z tym na podstawie per-application można dodać następujące ustawienia w sekcji config w pliku app.config/web.config.

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <runtime> 
     <generatePublisherEvidence enabled="false" /> 
    </runtime> 
</configuration> 

Oczywiście po dodaniu tego ustawienia podpisane pliki DLL nie będą weryfikowane pod kątem ich ważności!

+0

Jeśli jest to głównie problem w fazie rozwoju, możesz go wyłączyć podczas tworzenia i mieć go włączone w aplikacji na żywo. – awe

0

Profiler ANTS firmy RedGate może dać ci wskazówki, co może cię spowolnić.

Ustaw punkt przerwania na Page_Load w pliku Default.aspx.cs i zacznij.

Sprawdź plik Global.asax, aby sprawdzić, czy nic nie zostało załadowane, o czym nie wiesz.

Czy inne projekty wczytują się szybko? Czy masz uruchomione inne programy, które mogą spowalniać twój komputer? Jak wspomniałeś, aplikacje .NET zajmują najdłuższe początkowe obciążenie ... czy masz dużo referencji (poza bibliotekami, biblioteką dll ... itd.)

Jeśli publikujesz do serwera pomostowego lub programisty , czy ładuje się szybko?

Powiązane problemy