का परिणाम प्राप्त करें मेरे पास ऐसी विधि है जो वेब सेवा के लिए असीमित कॉल करता है। ऐसा ही कुछ:async विधि
public static async Task<ReturnResultClass> GetBasicResponseAsync()
{
var r = await SomeClass.StartAsyncOp();
return await OtherClass.ProcessAsync(r);
}
और मैं तुल्यकालिक विकल्प उपलब्ध कराना चाहते हैं: Result
फोन पर
public static ReturnResultClass GetBasicResponse()
{
return GetBasicResponseAsync().Result;
}
लेकिन यह ब्लॉक। क्योंकि इसे एक ही थ्रेड पर एसिंक ऑपरेशंस के रूप में बुलाया जाता है। मैं सिंक्रनाइज़ परिणाम कैसे प्राप्त कर सकता हूं?
धन्यवाद!
धन्यवाद! 'ConfigureAwait' मेरी lib के async क्लाइंट को प्रभावित करेगा? मेरा मतलब है, एसिंक ऑपरेशन एसिंक रहेंगे, या वे सभी ग्राहकों के लिए अन्य धागे पर निष्पादित किए जाएंगे? – gor
हां, यह एसिंक ग्राहकों को भी प्रभावित करेगा, लेकिन एक तरह से यह ठीक होना चाहिए। Async ऑपरेशंस async रहेगा, यह केवल इतना है कि 'ConfigureAwait() 'का उपयोग करने वाले कोड का निरंतर भाग UI थ्रेड पर निष्पादित नहीं होगा। लेकिन यूआई थ्रेड पर शुरू होने वाली विधियों में से कोई भी एसिंक कोड वहां रहेगा (जब तक आप वहां 'कॉन्फ़िगरएवाइट()' का उपयोग नहीं करते)। – svick