2015-09-17 9 views
6

निपटाने?SignalR मैं Asp.Net SignalR 2.</p> <p>उपयोग कर रहा हूँ एक .net ग्राहक (मैं Microsoft.AspNet.SignalR.Client उपयोग कर रहा हूँ) में, एक HubConnection आवश्यक निपटान है HubConnection

मुझे लगता है कि कर की कोशिश की है, लेकिन यह बहुत ज्यादा समय ....

उत्तर

5

यदि आप Stop() पर कॉल कर रहे हैं तो यह आवश्यक नहीं है।

अन्यथा https://msdn.microsoft.com/en-us/library/dn235890(v=vs.118).aspx

देखें, तो आप हमेशा IDisposable वस्तुओं के निपटान जब आप उन्हें का उपयोग किया जाता है चाहिए।

यह बहुत अधिक समय लग रहा है, तो (जैसे कि, वर्तमान धागा अवरुद्ध), बस इसे एक Task पर रोक, की तरह कुछ:

Task.Run(()=>hubConnection.Stop()); 
+1

आपके उत्तर के लिए धन्यवाद। मैं 'रोक()' को कॉल नहीं कर रहा हूं, एक बार यह ठीक उसी तरह की बात है जिसे 'निपटाना() 'है। सिग्नल स्रोत कोड से 'संरक्षित आभासी शून्य निपटान (बूल निपटान) { अगर (निपटान) { रोकें(); } } ' – cangosta

+1

एक अलग कार्य में कनेक्शन का निपटान चाल है, लेकिन क्या यह एक आम प्रथा है? – cangosta

+1

@ कंगोस्टा, हां, यह सामान्य है यदि आप इसे अवरुद्ध करने का निपटान नहीं करना चाहते हैं। –

1

क्या आप यह बहुत अधिक समय लेता है मतलब है लगता है? क्या आप विस्तार कर सकते हैं? क्या आपको टाइमआउट अपवाद मिल रहा है?

पुस्तक # 5.0 सी संक्षेप में से:

एक सुरक्षित नियम (लगभग सभी मामलों में) का पालन करने के लिए "संदेह में अगर, निपटाने।" है एक डिस्पोजेबल वस्तु -यदि यह कर सकता है बात-होगा निम्न कहें:

जब आप मेरे साथ समाप्त कर चुके हैं, तो मुझे बताएं। अगर बस छोड़ दिया गया है, तो मैं अन्य ऑब्जेक्ट उदाहरणों, अनुप्रयोग डोमेन, कंप्यूटर, नेटवर्क या डेटाबेस के लिए परेशानी का कारण बन सकता है!

मैं कहूंगा कि यह सौदा करने वाला नहीं है। यह भी पता लगाना उपयोगी हो सकता है कि वहां कितना समय लगता है।

+0

वास्तव में, यह सिर्फ ब्लॉकों चल धागा और फिर सफलतापूर्वक समाप्त होता है। कोई अपवाद नहीं फेंक दिया जाता है। मैं यह नहीं समझ सकता कि इसे निपटाने में इतना समय क्यों लगा रहा है। – cangosta

+2

ऑब्जेक्ट – cangosta

+0

ऑब्जेक्ट को निपटाने में 30 सेकंड लगते हैं वास्तव में, निपटान ऑपरेशन के लिए 30 सेकंड डिफ़ॉल्ट टाइमआउट होता है। – cangosta

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