c# - Returning IHttpActionResult vs IEnumerable vs IQueryable -


एएसपी.नेट वेबएपी 2 में, निम्न में से अंतर क्या है:

  सार्वजनिक async कार्य & lt; IEnumerable & lt; MyItem & gt; & gt; GetMyItems () {// ... कोड ..., var myItems = प्रतीक्षा है ... मेरी वापसी करें; }   

और

  सार्वजनिक async टास्क & lt; IQueryable & lt; MyItem & gt; & gt; GetMyItems () {// ... कोड ..., var myItems = प्रतीक्षा है ... मेरी वापसी करें; }   

और

  सार्वजनिक async टास्क & lt; IHttpActionResult & gt; GetMyItems () {// ... कोड ..., var myItems = await ... ok (myItems) वापस; }   

क्या मुझे IHttpActionResult या IEnumerable & lt; MyItem & gt; / IQueryable & lt; MyItem & gt;

आपको IHttpActionResult वापस करना चाहिए क्योंकि आप क्लाइंट के लिए अधिक विशिष्ट हो सकते हैं। आप अधिक उपयोगकर्ता के अनुकूल वेब अनुप्रयोग बना सकते हैं। मूल रूप से आप विभिन्न स्थितियों के लिए अलग-अलग HTML स्टेटस संदेश वापस कर सकते हैं।

उदाहरण के लिए:

  सार्वजनिक async टास्क & lt; IHttpActionResult & gt; GetMyItems () {यदि (! अधिकृत) वापसी अनधिकृत (); यदि (myItems.Count == 0) वापसी (); // ... कोड ..., var myItems = इंतजार ... ठीक है (मेरी वस्तुओं) लौटें; }   

IEnumerable और IQueryable आपके डेटा को आउटपुट स्वरूप में पार्स करेगा और आपके पास अपवादों को संभालने का कोई उचित तरीका नहीं होगा। यह सबसे महत्वपूर्ण अंतर है।

Comments

Popular posts from this blog

Verilog Error: output or inout port "Q" must be connected to a structural net expression -

Installing croogo for cakephp -

c# - Use custom conventions when persisting Rebus sagas in MongoDb -