सी # में एसिंक्रोनस प्रोग्रामिंग अवरुद्ध गतिविधियों के लिए एक कुशल दृष्टिकोण है या पहुंच में देरी हो रही है। यदि एक तुल्यकालिक प्रक्रिया में इस तरह से कोई गतिविधि अवरुद्ध है, तो पूरा आवेदन प्रतीक्षा करता है और इसमें अधिक समय लगता है। एप्लिकेशन प्रत्युत्तर देना बंद कर देता है। अतुल्यकालिक दृष्टिकोण का उपयोग करते हुए, अनुप्रयोग अन्य कार्यों के साथ भी जारी रहते हैं।
एक जीयूआई के साथ एक आवेदन, कतार की सामग्री की जांच करें और यदि कोई असंसाधित कार्य है, तो यह इसे बाहर निकालता है और इसे पहले संसाधित करता है। कोड समकालिक रूप से निष्पादित होता है और असंसाधित कार्य पहले पूरा होता है। यदि संसाधन में अपेक्षा से अधिक समय लगता है, तो एप्लिकेशन संदेशों का जवाब देना बंद कर देगा।
आइए देखें कि ऊपर क्या चर्चा की गई है।
private void OnRequestDownload(object sender, RoutedEventArgs e) { var req = HttpWebRequest.Create(_requestedUri); var res = req.GetResponse(); }
उपरोक्त समस्या को हल करने के लिए, async और प्रतीक्षित कीवर्ड का उपयोग करें।
private async void OnRequestDownload(object sender, RoutedEventArgs e) { var req= HttpWebRequest.Create(_requestedUri); var res = await req.GetResponseAsync(); }