2009-06-29 30 views
5

Clickonce 3.5 kullanarak büyük bir uygulama (600 dosyada 190 MB) var. Bu uygulamayı yükledikten sonra Başlat Menüsü'nde bulunan bağlantıdan çalıştırıyorum, ancak Splash Ekranımı göstermek için 4-12 sn. Bu uygulama .exe dosyasından çalıştırıldığında, 1 saniye sonra Splash ekranı görünür. otomatik güncelleştirmeleri kullanmayın başvurumClickOnce başlangıç ​​saati Başlangıç ​​Menüsü bağlantısından

Ben başlangıç ​​sırasında kadar uzun sürmesinin öğrenmek ve öğrenmek için dotTrace kullanarak bu uygulama profil denemek ettik (Clickonce güncelleme kaynak kodundan elle yapılır)

IActContext System.Deployment.Internal.Isolation.IsolationInterop.CreateActContext(IDefinitionAppId) 

İşte

zaman

çok zaman alır tüm alt ağaç:

36,71% SetDomainManager - 12972 ms - 0 calls - System.AppDomain.SetDomainManager(Evidence, Evidence, IntPtr, Boolean) 
    18,52% CreateActivationContext - 6542 ms - 0 calls - System.Deployment.Internal.Isolation.Manifest.CmsUtils.CreateActivationContext(String, String [], Boolean, ApplicationIdentity &, ActivationContext &) 
    18,52% ActivationContext..ctor - 6542 ms - 0 calls - System.ActivationContext..ctor(ApplicationIdentity) 
     18,52% CreateFromName - 6542 ms - 0 calls - System.ActivationContext.CreateFromName(ApplicationIdentity) 
     18,52% CreateActContext - 6542 ms - 0 calls - System.Deployment.Internal.Isolation.IsolationInterop.CreateActContext(IDefinitionAppId) 
    18,19% SetupApplicationHelper - 6429 ms - 0 calls - System.AppDomain.SetupApplicationHelper(Evidence, Evidence, ApplicationIdentity, ActivationContext, String []) 
    18,19% DetermineApplicationTrust - 6429 ms - 0 calls - System.Security.HostSecurityManager.DetermineApplicationTrust(Evidence, Evidence, TrustManagerContext) 
     18,10% get_ActivationContext - 6396 ms - 0 calls - System.Runtime.Hosting.ActivationArguments.get_ActivationContext() 
     18,10% CreateFromName - 6396 ms - 0 calls - System.ActivationContext.CreateFromName(ApplicationIdentity) 
      18,10% CreateActContext - 6396 ms - 0 calls - System.Deployment.Internal.Isolation.IsolationInterop.CreateActContext(IDefinitionAppId) 
     0,09% DetermineApplicationTrustInternal - 33 ms - 0 calls - System.Security.Policy.ApplicationSecurityManager.DetermineApplicationTrustInternal(ActivationContext, TrustManagerContext) 

Nasıl bu başlangıç ​​süresini azaltabilir benim uygulama? Bu çok kritik bir durumdur çünkü bazen kullanıcının 12 saniye boyunca beklemesini görmek için Splash Ekranı'nı görmesi gerekir.

+0

Bu konuda bana yardımcı olan var mı? – Irek

cevap

1

Uygulamanızın güven düzeyini belirlemek için harcanan zamanın iyi bir kısmı gibi görünüyor. Bu uygulamayı zamanın traş olup olmayacağını görmek için tam güven ile dağıtmayı denediniz mi?

+0

Tamam, uygulama bildirimime tam güveniyorum. – Irek

+0

Başlangıç ​​zamanı aynı. Hiçbirşey değişmedi. – Irek

İlgili konular