मैं अपने डब्ल्यूपीएफ अनुप्रयोगों के साथ किसी समस्या के साथ कुछ दिनों तक संघर्ष कर रहा हूं और मुझे आश्चर्य है कि कोई इस से पहले आया है और मदद कर सकता है? समस्या उस वेब विधि कॉल में प्रकारों को संभालने के लिए "ऑन-द-फ्लाई" एक धारावाहिक उत्पन्न करने वाले क्लाइंट को उबालने लगती है। जब उस विधि को पहली बार बुलाया जाता है (वेब सेवा पहले से ही चल रही है), तो यह उदाहरण ले सकता है 8 सेकंड, बाद की कॉल उदा। 20ms। क्लाइंट डब्ल्यूपीएफ प्रक्रिया पर सीपीयू इस देरी के दौरान उच्च है।WPF से डब्ल्यूसीएफ का उपयोग पहले उपयोग पर बहुत धीमी
XmlSerializer का उपयोग करते समय, svcutil का उपयोग करके इन धारावाहिक असेंबली को पूर्व-उत्पन्न करने का एक तरीका है। सामान्य डब्लूसीएफ डेटाकंट्रैक्ट सर्राइज़र का उपयोग करते समय (जैसा कि हम हैं), यह विकल्प मौजूद प्रतीत नहीं होता है।
मैं चाहते हैं क्या मेरे सभी डेटा के ठेके में सभी प्रकार के लिए इस विधानसभा (एक बहुत) प्री-उत्पन्न करने के लिए या वैकल्पिक रूप से, एक कस्टम एक है कि मैं कोड कर सकते हैं के साथ इस प्रक्रिया को बदलने के लिए सक्षम होने के लिए है और डेटा गुजरता बाइनरी में (हम इस webservice/क्लाइंट के दोनों सिरों के मालिक हैं और वे दोनों .NET 4 हैं)। मैंने पहले से ही बाइनरीफोरमेटर और जीजेप संपीड़न का उपयोग किया है और यह डेटा के हस्तांतरण को गति देता है, लेकिन यह हमेशा ढांचे द्वारा डी-सीरियलाइज्ड होने के लिए एक्सएमएल में बहाल हो जाता है, इसलिए यह समस्या बनी हुई है।
कोई भी विचार?
धन्यवाद जुलिएन, मैं useDefaultWebProxy झूठी पहले से ही मिला है। मैंने प्रोटोबफ-नेट का उपयोग करने के लिए देखा है, लेकिन मुझे गीले समझने में परेशानी हो रही है, मुझे एक नई विशेषता के साथ अपने सभी डेटा प्रकारों को दोबारा सजाने की आवश्यकता होगी - मुझे उम्मीद नहीं है। यह वेब साइट पर कहता है कि v2 "यदि आप चाहें तो विशेषताओं के बिना उपयोग किया जा सकता है", लेकिन सभी उदाहरण विशेषताओं का उपयोग करते हैं। क्या यह पहली कॉल की स्टार्टअप गति में सुधार करेगा, यहां तक कि आईआईएस (जो वास्तव में अनिवार्य है) में, यानी प्रोटोबफ-नेट सीरिएलाइज़र बिल्ड समय पर प्री-जेनरेट किया गया है? –
@ सिमोन इवान्स, जब तक आपके पास प्रत्येक 'डेटामेम्बर' पर 'ऑर्डर' प्रॉपर्टी सेट हो, तब तक आपको ठीक होना चाहिए। हालांकि इसे खुद का उपयोग नहीं किया था (मैं शुरुआत से protobuf के साथ चला गया)। –
जूलियन, क्या आपका मतलब है कि मुझे हर सार्वजनिक संपत्ति में [ProtoMember (n)] जोड़ना होगा? आपकी मदद के –