2011-12-19 6 views
6

Używam ClickOnce do wdrożenia aplikacji C#. Jest on dostępny tylko w trybie online, więc nie mogę wyłączyć aplikacji, aby sprawdzać aktualizację za każdym razem, gdy jest uruchamiana.Jak przyspieszyć okno "Sprawdzanie wymagań aplikacji"?

Za każdym razem, gdy zostanie uruchomione z adresu URL, pojawi się okno "Sprawdzanie wymagań aplikacji". Jest okej. Czas potrzebny do zniknięcia tego okna jest jednak bardzo zróżnicowany. Czasami jest natychmiastowy, czasami zajmuje kilka sekund. Czy ktoś wie, dlaczego tak jest i jak przyspieszyć ten proces weryfikacji?

Używam process p = Runtime.getRuntime().exec("explorer myURL") do uruchomienia aplikacji. Nie wiem, czy to ma znaczenie, czy jest lepszy sposób? (Uruchamiam tę aplikację z aplikacji Java)

Odpowiedz

1

Istnieje kilka powodów, dla których wykonanie tego procesu może potrwać kilka sekund. Po pierwsze, jeśli twój serwer ClickOnce jest zajęty, może odpowiedzieć na żądanie pliku .application przez pół sekundy lub dłużej.

Dodatkowo, plik .application musi zostać przeanalizowany i sprawdzony przez oprogramowanie Microsoft Installer. Jeśli aplikacja Microsoft Installer nie jest załadowana do pamięci, twój komputer będzie musiał uruchomić tę aplikację i przekazać plik .application. Może to również zająć sekundę lub dwie.

Wreszcie, jeśli wszystko jest aktualne, aplikacja zostanie wykonana. Może to potrwać jedną lub dwie sekundy. Każdy krok może być raczej krótki, ale w przypadku scenariusza "najgorszego przypadku" dla każdego kroku aplikacja może zająć od 6 do 10 sekund. Prawdopodobnie nawet wolniej, jeśli serwer aplikacji ClickOnce jest bardzo obciążony.

To nie jest rozwiązanie, ale jestem przekonany, że odpowiedź brzmi, że nie można przyspieszyć tego procesu. Najlepszą opcją jest upewnienie się, że serwer sieciowy ClickOnce łączy się z szybkim połączeniem danych, a połączenie internetowe komputera jest niezawodne i szybkie.

+0

dzięki RLH. Zaznaczę to jako odpowiedź – neo