मैंने एक साधारण डब्ल्यूसीएफ (.NET 3.5) सेवा बनाई है जो 10 अनुबंधों को परिभाषित करता है जो मूल रूप से आपूर्ति किए गए डेटा पर गणना करते हैं। फिलहाल मुझे उम्मीद है कि इन कुछ अनुबंधों में से कुछ को कॉल करने के लिए कुछ ग्राहक हैं। मैं सेवा को और अधिक उत्तरदायी कैसे बना सकता हूं? मुझे एहसास है कि सेवा तब तक प्रतीक्षा करेगी जब तक कि वह अगले अनुरोध पर जाने के अनुरोध को संसाधित न करे। चीजों को गति देने के लिए मैं डब्ल्यूसीएफ में मल्टीथ्रेडिंग का उपयोग कैसे कर सकता हूं?डब्ल्यूसीएफ सेवा और थ्रेडिंग
उत्तर
जब मैं Justin's answer से सहमत हैं, मेरा मानना है कि कुछ और प्रकाश कैसे WCF काम करता है पर यहाँ डाला जा सकता है।
मुझे लगता है कि सेवा इंतजार करेंगे जब तक यह करने के लिए एक अनुरोध पर कार्रवाई अगले एक करने के लिए जाना है:
आप विशिष्ट बयान। ऊपर की गति को गति देने के लिए मैं डब्ल्यूसीएफ में मल्टीथ्रेडिंग का उपयोग कैसे कर सकता हूं?
सेवा की सहमति (यह कितनी कॉल एक साथ ले सकती है) सेवा से जुड़ी ConcurrencyMode
value for the ServiceBehavior
पर निर्भर करती है। डिफ़ॉल्ट रूप से, यह मान ConcurrencyMode.Single
है, जिसका अर्थ है कि यह एक दूसरे के बाद कॉल को क्रमबद्ध करेगा।
हालांकि, यह आपके विचार के मुकाबले जितना अधिक मुद्दा नहीं हो सकता है। यदि आपकी सेवा InstanceContextMode
InstanceContextMode.PerCall
के बराबर है तो यह एक गैर-समस्या है; आपकी सेवा का एक नया उदाहरण प्रति कॉल बनाया जाएगा और किसी अन्य कॉल के लिए उपयोग नहीं किया जाएगा।
यदि आपके पास सिंगलटन या सत्र-आधारित सेवा ऑब्जेक्ट है, तो सेवा कार्यान्वयन के उस उदाहरण के लिए कॉल को क्रमबद्ध किया जाएगा।
आप हमेशा ConcurrencyMode
बदल सकते हैं, लेकिन ध्यान रखें कि यदि आप ऐसा करते हैं, तो आपको समेकन संबंधी मुद्दों और मैन्युअल रूप से अपने संसाधनों तक पहुंच को संभालना होगा, क्योंकि आपने स्पष्ट रूप से डब्ल्यूसीएफ को बताया है कि आप ऐसा करेंगे।
इन्हें बदलने के लिए महत्वपूर्ण नहीं है क्योंकि आपको लगता है कि है कि इससे बढ़ते प्रदर्शन में वृद्धि होगी। हालांकि, समेकन के लिए बहुत कुछ नहीं है, आपकी सेवा का इंस्टेंटिंग पहलू सेवा की पहचान का एक हिस्सा है (यदि यह सत्र है या सत्र-आधारित नहीं है) और उन्हें बदलने से ग्राहकों को सेवा का उपभोग करने पर असर पड़ता है, तो ऐसा न करें यह हल्के ढंग से।
बेशक, यह को लागू करने वाला कोड है या नहीं, यह सेवा कुशल है। यह निश्चित रूप से ऐसा कुछ है जिसे देखने की आवश्यकता होती है, जब आप इंगित करते हैं कि यह मामला है।
यह निश्चित रूप से पूर्व परिपक्व अनुकूलन है। अपनी सेवाओं को पहले कार्यान्वित करें और देखें कि कोई समस्या है या नहीं।
मुझे लगता है कि आप पाएंगे कि आप कुछ भी नहीं कर रहे हैं। सर्वर अनुरोध अनुरोध के रूप में एक अनुरोध पर अवरुद्ध नहीं होगा। आईआईएस/डब्ल्यूसीएफ को आपके लिए चीजों को अच्छी तरह से संभालना चाहिए।
मैं डब्ल्यूसीएफ से परिचित नहीं हूं, लेकिन क्या प्रक्रिया एसिंक हो सकती है? यदि आप बड़ी मात्रा में डेटा और गहन गणना की उम्मीद कर रहे हैं, तो एक विकल्प id
भेजने के लिए हो सकता है, एक अलग थ्रेड में मानों की गणना करें और फिर प्रारंभिक id
का उपयोग करके परिणाम वापस करने के लिए एक विधि प्रदान करें।
कुछ की तरह:
int id = Service.CalculateX(...);
...
var y = Service.GetResultX(id);
- 1. डब्ल्यूसीएफ सेवा, डब्ल्यूसीएफ आरआईए सेवाओं, और डब्ल्यूसीएफ डेटा सेवा
- 2. एमएसएमक्यू और डब्ल्यूसीएफ सेवा
- 3. डब्ल्यूसीएफ सेवा पुस्तकालय और डब्ल्यूसीएफ सेवा आवेदन के बीच अंतर
- 4. डब्ल्यूसीएफ थ्रेडिंग - गैर-उत्तरदायी यूआई
- 5. एक डब्ल्यूसीएफ सेवा से दूसरे डब्ल्यूसीएफ सेवा
- 6. आरएसटी डब्ल्यूसीएफ सेवा और एएसपी.नेट
- 7. सेवा ब्रोकर और डब्ल्यूसीएफ इंटरऑपरेबिलिटी
- 8. डब्ल्यूसीएफ सेवा
- 9. डब्ल्यूसीएफ सेवा
- 10. डब्ल्यूसीएफ सेवा
- 11. डब्ल्यूसीएफ सेवा
- 12. डब्ल्यूसीएफ सेवा
- 13. डब्ल्यूसीएफ सेवा
- 14. डब्ल्यूसीएफ सेवा
- 15. डब्ल्यूसीएफ सेवा
- 16. डब्ल्यूसीएफ सेवा
- 17. डब्ल्यूसीएफ सेवा
- 18. डब्ल्यूसीएफ सेवा:
- 19. डब्ल्यूसीएफ सेवा
- 20. डब्ल्यूसीएफ सेवा
- 21. डब्ल्यूसीएफ सेवा
- 22. डब्ल्यूसीएफ सेवा
- 23. डब्ल्यूसीएफ सेवा
- 24. डब्ल्यूसीएफ सेवा बनाम विंडो सेवा
- 25. डब्ल्यूसीएफ सेवा बनाम विंडोज सेवा
- 26. एज़ूर टेबल स्टोरेज, डब्ल्यूसीएफ सेवा और एनम
- 27. डब्ल्यूसीएफ सेल्फहोस्टेड सेवा, इंस्टॉलर क्लास और नेटस्
- 28. डब्ल्यूसीएफ, एएसपी.नेट सदस्यता प्रदाता और प्रमाणीकरण सेवा
- 29. ओडाटा, एटम, जेसन और डब्ल्यूसीएफ डेटा सेवा
- 30. एमईएफ + डब्ल्यूसीएफ सेवा होस्ट?
जब मैं कहता हूं कि आप धीमी प्रतिक्रियाओं का अनुभव करते हैं तो मैं आपको ठीक समझ रहा हूं? क्लाइंट प्रति मिनट कितने कॉल करता है कहते हैं। और धीमा क्या है? –