एक आसान तरीका है कि आप अपने ईवेंट हैंडलर async
बनाएं। सबसे पहले, @Page
निर्देश के लिए Async="true"
पैरामीटर जोड़ने, और फिर आप इस तरह के रूप async ईवेंट हैंडलर्स लिखने के लिए सक्षम होना चाहिए: क्योंकि मैं वास्तव में इस बाहर अपने आप को प्रयास नहीं किया है "में सक्षम होना चाहिए"
protected async void Page_Load(object sender, EventArgs e)
{
var client = new WebClient();
var content = await client.DownloadStringTaskAsync("http://www.google.com");
Response.Write(content);
}
मैं कहता हूँ । लेकिन यह काम करना चाहिए।
अद्यतन: यह करता नहीं Page_Load
के लिए काम (this MSDN forum thread देखें), लेकिन इस तरह बटन क्लिक के रूप में अन्य घटनाओं के लिए काम करना चाहिए।
अद्यतन: यह ASP.NET 4.5 में Page_Load
के लिए काम करता है। साथ ही, यदि आप अनुचित रूप से async
ईवेंट हैंडलर का उपयोग करते हैं तो उन्होंने चेक जोड़े। See this video for details.
स्रोत
2012-03-05 13:17:51
और मैंने कोशिश की है, यह काम नहीं करता है। – Dozer
यह सही ढंग से काम करता है! – Dozer
यदि प्रतीक्षा कीवर्ड पेज_लोड में एसिंक्रोनस ऑपरेशन के बारे में पृष्ठ क्लास को अधिसूचित नहीं कर रहा था तो बटन क्लिक के लिए यह अलग क्यों होगा? लेकिन अद्यतन के लिए धन्यवाद कि यह अब समर्थित है। – Michael