2011-02-10 6 views
10

स्पष्ट रूप से बंद करें और निपटान प्रभावी ढंग से वही हैं। मैं हर बार इसे पुनर्स्थापित करने के बिना अपने सर्विसहोस्ट इंस्टेंस को बंद और खोलने में सक्षम होना चाहता हूं। कोई विचार? धन्यवाद।डब्ल्यूसीएफ: myServiceHost.Close() को myServiceHost ऑब्जेक्ट का निपटान करने से कैसे रोकें?

+0

या प्रश्न को फिर से लिखने के लिए - मैं कॉल करने के बिना myServiceHost को "अक्षम" कैसे कर सकता हूं? – Sam

उत्तर

11

ServiceHost.Close प्रभावी रूप से Dispose() के समान है। यह सामान्य है, सामान्यतः, Close() विधि - Dispose()Close() के संदर्भ में लागू सभी प्रकारों के साथ।

FYI करें - ServiceHostBase औजार Dispose() स्पष्ट रूप से के माध्यम से:

void IDisposable.Dispose() 
{ 
    base.Close(); 
} 

यह प्रभावी ढंग से, यानी जब आप ServiceHost बंद करते हैं, तो आप हमेशा() से नष्ट कर देंगे। इसे पुनर्निर्माण किए बिना इसे फिर से खोलने का कोई समर्थित तरीका नहीं है।

+0

@ रीड कॉपसी, आपकी प्रतिक्रिया के लिए धन्यवाद। मुझे प्रश्न दोबारा दोहराएं, क्या मैं बिना कॉल किए सेवा को "अक्षम" कर सकता हूं? – Sam

+0

@ सैम: नहीं। इसे बंद करें, और इसे फिर से बनाएं जब आप इसे फिर से "सक्षम" करना चाहते हैं। –

+0

आप सेवाहोस्ट को "अक्षम" क्यों करना चाहते हैं? सेवा हमेशा अपने कॉलर्स के लिए उपलब्ध होनी चाहिए। –

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