2016-02-11 9 views
9

का उपयोग करके धीमे एप्लिकेशन स्टार्टअप हम क्लिकऑन के साथ हमारे आवेदन को तैनात कर रहे हैं और हमने देखा है कि जब हम क्लिकऑन डेस्कटॉप आइकन पर क्लिक करके अपना आवेदन शुरू करते हैं, तो एप्लिकेशन प्रारंभ होने की तुलना में धीमी गति से शुरू होता है (इसमें कम से कम 30-60 सेकंड अधिक होते हैं) सीधे .exe से। मैंने देखा है कि यह एक अज्ञात मुद्दा नहीं है (Slow startup of Clickonce winforms application after update) लेकिन ऐसा लगता है कि यह अभी भी अनसुलझा है। मुझे आश्चर्य है कि ऐसा क्यों होगा और इसे कैसे ठीक किया जाए।क्लिकऑन परिनियोजन

मैं केवल एक मशीन का उपयोग कर रहा हूं, इसलिए मुझे लगता है कि यह मशीन से संबंधित नहीं है, एंटीवायरस से संबंधित नहीं है।

मैं स्टार्टअप के दौरान विभिन्न मेमोरी प्रबंधन पैटर्न को देख रहा हूं: क्लिकऑन परिनियोजन में अधिक समय लगता है और कुछ समय बाद यह कुछ स्मृति को हटा देता है। हम अभी भी 12 MBytes अंतर में हैं (क्लिकऑन के माध्यम से 67 एमबी, प्रत्यक्ष .exe के माध्यम से 50)।

यह मैं पागल गाड़ी चला रहा है ...

धन्यवाद

+2

क्या आपने आवेदन शुरू होने के बाद अद्यतनों की खोज करने के लिए क्लिकऑन कॉन्फ़िगर करने का प्रयास किया था? – Pikoh

+0

हाय, टिप्पणी के लिए धन्यवाद। नहीं, मैंने कोशिश नहीं की है। मैंने सोचा कि अद्यतनों की खोज पहले छोटे पॉप-अप के बाद समाप्त हो जाती है (जो उपयोगकर्ता को सूचित करता है कि वह अपडेट की तलाश में है)। मैं निश्चित रूप से कोशिश करूँगा! – Massimo

+0

@ पिकोह नोप, प्रदर्शन में कोई बदलाव नहीं (आरंभिक अद्यतन भाग को हटाने के अलावा) – Massimo

उत्तर

2

मैं इसे नहीं मशीन से संबंधित, नहीं एंटीवायरस से संबंधित है लगता है।

आपको यह साबित करने की आवश्यकता है कि आपके क्लाइंट में एक ही एंटी-वायरस स्थापित करके परिकल्पना एक देव वीएम पर है। यदि आप धीरे-धीरे शुरू नहीं कर सकते हैं तो मशीनों के बीच ProcMon निशान की तुलना करें।


मेरा मानना ​​है कि हंस पैसे और एंटी वायरस पर है QA में सही जवाब आप अपने प्रश्न में उल्लेख करने के लिए के अनुसार सबसे अधिक संभावना अपराधी,:

मैं बहुत देखा है एक नए तैनात किए गए पहले रन के लिए खराब प्रदर्शन (कुछ सेकंड बनाम मिनट)। नेट एप्लिकेशन यह है कि उपयोगकर्ता एंटीवायरस सॉफ़्टवेयर चला रहे हैं क्योंकि एंटीवायरस टूल जांचता है कि नए जब्त असेंबली दुर्भावनापूर्ण नहीं हैं।


सुनिश्चित करें कि आप .NET Framework 3.5 SP1 का उपयोग कर रहे या इसके बाद के संस्करण के रूप में "वहाँ स्टार्टअप के क्षेत्र में महत्वपूर्ण प्रदर्शन में सुधार कर रहे हैं। विशेष रूप से WPF अनुप्रयोगों के साथ" और 3.5 एसपी 1 स्पलैश स्क्रीन शामिल है।

एक स्पलैश स्क्रीन एक त्वरित (अस्थायी) फिक्स हो सकती है। हां, एक आदर्श समाधान नहीं है।


ClickOnce अब बहुत पुरानी हो रही है और इस क्षेत्र में प्रगति का एक बहुत वहाँ किया गया है तो क्यों इस तरह के Windows इंस्टालर के रूप में एक अलग तैनाती तंत्र, और अनुप्रयोग में एक अद्यतन मेनू के साथ एक और रणनीति अपनाने नहीं। मैं एक एमएसआई इंस्टॉलर को Install to same path when upgrading application पर बनाने के चरणों का विस्तार करता हूं।

यदि आप क्लिकऑन के बजाए नवीनतम संस्करण पर हर किसी के बारे में सख्त होना चाहते हैं तो वेब सेवा को ऐप पिंग शुरू करना और डाउनलोड करना बेहतर होगा और एक नया संस्करण जारी होने पर अपडेट को निष्पादित करेगा।

इसके अलावा, इस क्षेत्र में Google से सुझाव लें।http://blog.codinghorror.com/the-infinite-version/

enter image description here

आप ClickOnce का उपयोग आप NGEN और bsdiff जैसी चीजों का उपयोग कर सकते न, तो संभवतः भी Google courgette: आप जेफ Atwood लेख याद है।


वहाँ एक ClickOnce आवेदन discussed here की स्टार्टअप तेजी लाने के लिए कुछ अन्य तरीकों से है।


हालांकि यह आपके सवाल का सीधे जवाब नहीं हो सकता है, उम्मीद है कि यह आप के लिए भोजन विचार के लिए कैसे मूल कारण की पहचान और/या अद्यतन बाहर रोलिंग के लिए एक अलग और अधिक अप करते हैं की तारीख विधि का उपयोग करने पर देता है।

+0

हाय, वास्तव में अच्छा और स्वागत का जवाब है, लेकिन जब भी मैं डेस्कटॉप क्लिकऑन आइकन पर क्लिक करता हूं तब भी मुझे हुड के नीचे क्या किया जा रहा है। क्लिकऑस एप्लिकेशन द्वारा क्लिक किए गए क्रिया को क्लिक और निष्पादन के बीच .exe जहां इसे तैनात किया गया है। मैंने डेस्कटॉप Win7 पीसी पर क्लिकऑन्स परिनियोजन का परीक्षण किया, हर संभावित एंटीवायरस और विंडोज़ यूएसी को अक्षम कर दिया लेकिन यह मुद्दा वही बना हुआ है। दो मोड के बीच अलग-अलग मेमोरी लोड (इसलिए गति अंतर, मुझे लगता है) का कारण क्या है? दुर्भाग्यवश मैं तैनाती विधि नहीं बदल सकता :( – Massimo

+0

क्या आप इसे स्थापित करने के बाद पुष्टि कर सकते हैं जब स्टार्टअप समय सीओ डेस्कटॉप आइकन के माध्यम से बहुत तेज़ हो जाता है? आप सीएलआर प्रोफाइलर का उपयोग कर सकते हैं और 12 एमबी देखने के लिए जेन 2 में बड़े हिस्से की जांच कर सकते हैं, यदि आप जिस तरह से अतिरिक्त मेमोरी आवंटन निर्धारित करने के लिए पहले से उपयोग नहीं कर रहे हैं। –

+0

इसके अलावा, ऐप के दूसरे भाग पर (इसके इंस्टॉल होने के बाद) क्या आप ऐप खोलते समय बहुत सारे आईओ हो रहे हैं? आप ProcessMonitor के FileMon trace का उपयोग कर सकते हैं आईओ गतिविधि देखने के लिए .. मूर्ख सवाल लेकिन आपने सभी डीएलएल और EXE को एक संस्करण संख्या के साथ सेट किया है, हाँ? यह बिल्ड नंबर के लिए एक जंगली कार्ड का उपयोग नहीं कर रहा है, कोई सीडी नहीं है? –

0

जब आप बिल्ड प्रकाशित करते हैं तो कृपया ऐप को ऑफ़लाइन मोड में चलाने का विकल्प चुनें। अन्यथा क्लिकऑन इंस्टॉलर स्थानीय एक्सई के बजाए ऐप को आपके सर्वर से लॉन्च करने का प्रयास करेगा।

कृपया मुझे बताएं कि क्या किसी अन्य परिदृश्य को देखने की आवश्यकता है या इससे मदद मिलती है।

धन्यवाद,

+0

चेक "एप्लिकेशन ऑफलाइन भी उपलब्ध है (स्टार्ट मेनू से लॉन्च करने योग्य पहले से ही चेक किया गया है, धन्यवाद – Massimo

+0

कृपया यह भी सत्यापित करें कि क्लिकऑन से संबंधित घटनाएं कैप्चर की गई हैं। इसमें लोड करने में समय लग सकता है। बहुत हाइट लेवल के लिए खेद है लेकिन उम्मीद है यह मदद कर सकता है। –

+0

मैं निम्नलिखित नहीं हूं, क्लिकऑन से संबंधित घटनाएं क्या हैं? – Massimo

संबंधित मुद्दे