की तरह कोड का एक टुकड़ा पर विचार करें:क्या जारी रखने के लिए "अंत में" ऑपरेशन के रूप में जारी रखना सुरक्षित है?
private Task<string> Download()
{
var wc = new WebClient();
Task<string> backgroundDownload = wc.DownloadStringTaskAsync(this.Uri);
// Make sure the WebClient is disposed no matter what.
backgroundDownload.ContinueWith((downloadTask) => { wc.Dispose(); });
return backgroundDownload;
}
मुझे विश्वास है कि WebClient.Dispose()
कॉल होता है और हो सकता है कि किसी भी अपवाद का उत्पादन करने के लिए फोन करने वाले rethrown है के रूप में अगर वहाँ ContinueWith
करने के लिए कोई फोन था?
क्या ग्राहक इस ContinueWith
देख सकते हैं? (उदाहरण के लिए बाद में ContinueWith
पर कॉल करें निपटान कॉल को हटा दें?)
क्या आपने कंसोल जोड़कर अपना कोड आजमाया है। राइटलाइन या संदेशबॉक्स। * जारी रखें * में दिखाएं? –
क्यों न सिर्फ प्रतीक्षा करें? – VoteCoffee
इसके अलावा, यदि आप प्रतीक्षा करते हैं, तो आप डब्ल्यूसी के साथ उपयोग कर सकते हैं और ऐसा करने के लिए जहां भी यह समझ में आता है वहां एक कोशिश/पकड़ ब्लॉक बनाएं। – VoteCoffee