के लिए आर्किटेक्चर यदि आप अपने आर्किटेक्चर में निचले स्तर पर async/await का उपयोग कर रहे हैं, तो क्या यह सभी तरह से एसिंक/प्रतीक्षा कॉल को "बबल अप" करना आवश्यक है, क्या यह मूल रूप से बना रहा है क्योंकि यह अक्षम है प्रत्येक परत के लिए एक नया धागा (प्रत्येक परत के लिए असीमित रूप से एसिंक्रोनस फ़ंक्शन को कॉल करना, या यह वास्तव में कोई फर्क नहीं पड़ता है और यह आपकी वरीयता पर निर्भर करता है?async/await
मैं ईएफ 6.0-अल्फा 3 का उपयोग कर रहा हूं ताकि मैं async विधियों को प्राप्त कर सकूं । एफई
मेरे भंडार इस तरह है:
public class EntityRepository<E> : IRepository<E> where E : class
{
public async virtual Task Save()
{
await context.SaveChangesAsync();
}
}
अब मेरे व्यापार परत इस तरह के रूप में है:
public abstract class ApplicationBCBase<E> : IEntityBC<E>
{
public async virtual Task Save()
{
await repository.Save();
}
}
और फिर निश्चित रूप से मेरी यूआई में मेरी विधि जब बुला पैटर्न का ही पालन करना होगा।
- आवश्यक
- प्रदर्शन
- वरीयता का मामला
यहां तक कि अगर यह अलग परतों में नहीं किया जाता है/एक ही सवाल परियोजनाओं पर लागू होता है पर नकारात्मक:
इस है अगर मैं एक ही कक्षा में नेस्टेड विधियों को बुला रहा हूं:
private async Task<string> Dosomething1()
{
//other stuff
...
return await Dosomething2();
}
private async Task<string> Dosomething2()
{
//other stuff
...
return await Dosomething3();
}
private async Task<string> Dosomething3()
{
//other stuff
...
return await Task.Run(() => "");
}
ध्यान दें कि आप त्रुटि संदेश जोड़ने के लिए 'async' के रूप में वर्णित एक संदेश को भी चिह्नित कर सकते हैं। यदि आप कार्य का इंतजार कर रहे हैं तो आप प्रदान किए गए कार्य को जारी रखने के बजाय कॉल को 'कोशिश/पकड़' ब्लॉक में बस लपेट सकते हैं। – Servy
@ सर्वी: हाँ, लेकिन उस स्थिति में यह कोई अतिरिक्त प्रसंस्करण प्रदान करने के विवरण को पूरा नहीं करेगा। यह आसान है कि एपीआई को बदलने के बिना * * कर सकता है, आपको दिमाग ... –
तो, इसे समझने की कोशिश कर रहा है, मुझे वास्तव में केवल उसी एसिंक/प्रतीक्षा का उपयोग करने की आवश्यकता है यदि एक ही फ़ंक्शन में चलने वाली किसी चीज़ को एसिंक की वापसी की आवश्यकता होती है तरीका? अगर यह आग है और भूल गया है या आखिरी बयान है तो इंतजार की कोई ज़रूरत नहीं है? – valdetero