वेबफॉर्म एएसपी.नेट साइट (आईआईएस, एकल ऐप पूल) में एसिंक्रोनस वेब सेवा कॉल के एसिंक्रोनस वेब सेवा कॉल के परिणाम के लिए कैसे प्रतीक्षा करें, मैंने विजुअल स्टूडियो में संदर्भित लंबी वेब सेवा विधि को सेवा संदर्भ के रूप में संदर्भित किया है (.NET 4.0)। दुर्भाग्यवश, मुझे उपयोगकर्ता को पृष्ठ की सेवा करने से पहले वेब सेवा से जानकारी की प्रतीक्षा करनी होगी। वर्तमान में वेब सेवा को सिंक्रनाइज़ कहा जाता है, इसलिए सर्वर अन्य अनुरोधों को संसाधित करने के लिए वर्तमान थ्रेड का पुन: उपयोग नहीं कर सकता है, जिसका प्रदर्शन प्रभाव पड़ता है।सर्वोत्तम प्रदर्शन
बेशक मैं दृश्य स्टूडियो में सेवा में संदर्भ के लिए अतुल्यकालिक संचालन उत्पन्न कर सकते हैं और GetFoo
के बजाय BeginGetFoo
फोन, लेकिन अभी भी मैं वेब सेवा से परिणाम के लिए किसी भी तरह इंतज़ार करना होगा।
यहां प्रश्न आता है। यदि मैं AsyncWaitHandle.WaitOne
(नीचे के रूप में) का उपयोग करता हूं तो क्या यह आज सिंक्रोनस कॉल से पूरे एप्लिकेशन प्रदर्शन शर्तों में बेहतर होगा?
IAsyncResult result = fooSoapClient.BeginGetFoo();
result.AsyncWaitHandle.WaitOne();
var foo = fooSoapClient.EndGetFoo(result);
और निश्चित रूप से, यदि प्रतीक्षा बेहतर किया जा सकता है तो मैं सुझावों के लिए खुला हूं।
आप निम्नलिखित दस्तावेज को पढ़ना चाहेंगे: http://msdn.microsoft.com/en-us/library/2e08f6yc(v=vs.100).aspx उस खोजी के लिए आपकी खोज के उत्तर के रूप में। आपने पर्याप्त जानकारी प्रदान नहीं की है –
सर्वोत्तम प्रदर्शन के लिए, प्रतीक्षा न करें, लेकिन निरंतरताएं सेट करें। आपके द्वारा पोस्ट किया गया कोड एक सिंक्रोनस कॉल के समान ही है। – millimoose
@ रामहाउंड - मैंने इसे पढ़ लिया है। आपको कौन सी जानकारी चाहिए, मुझे इसे जोड़ने में खुशी होगी? – Pol