ऐसा लगता है कि इन दोनों का एक समान उद्देश्य है। दूसरे उदाहरणों, पेशेवरों और विपक्षों का उपयोग करने के साथ-साथ महत्वपूर्ण अंतर क्या हैं, यह इंगित करने के लिए कुछ उदाहरण देखना बहुत अच्छा होगा।HttpMessageHandler बनाम ActionFilter का उपयोग कब करें?
उत्तर
उनके दोनों के बीच बड़ा अंतर उनका ध्यान है। संदेश हैंडलर सभी HTTP अनुरोधों पर लागू होते हैं। वे एक HTTP मध्यस्थ के कार्य निष्पादित करते हैं। फ़िल्टर केवल उन अनुरोधों पर लागू होते हैं जो विशेष नियंत्रक/क्रिया पर प्रेषित होते हैं जहां फ़िल्टर लागू होता है।
जब आप व्यवहार को के अनुरोधों के विशाल बहुमत पर लागू करना चाहते हैं तो आपको संदेशहैंडलर का उपयोग करना चाहिए। पर फ़िल्टर का उपयोग किया जाना चाहिए, वे केवल कुछ संसाधनों पर लागू होते हैं।
फ़िल्टर सभी HTTP अनुरोधों पर भी लागू किए जा सकते हैं, यदि उन्हें वैश्विक फ़िल्टर के रूप में जोड़ा गया है। – frennky
यह कहां से है? –
http://blogs.msdn.com/b/kiranchalla/archive/2012/05/05/asp-net-mvc4-web-api-stack-diagram.aspx –
संचालकों और कार्रवाई फिल्टर बीच एक बड़ा अंतर मंच, जिस पर वे क्रियान्वित कर रहे हैं है। कंट्रोलर प्रेषण के बाद एक्शन फ़िल्टर निष्पादित किए जाते हैं और मॉडल बाइंडिंग हुई है, इसलिए आपके पास अनुरोध को संभालने वाले नियंत्रक उदाहरण के साथ बातचीत करने की क्षमता है, साथ ही साथ कार्य विधि में पारित टाइप की गई मॉडल ऑब्जेक्ट्स तक सीधे पहुंच भी है। मैंने अनुरोध/प्रतिक्रिया मानों के उन्नत लॉगिंग करने के लिए इस दृष्टिकोण का उपयोग किया है - क्योंकि मैं नियंत्रक पर जा सकता था, मैं अनुरोध को संभालने के तरीके के बारे में अतिरिक्त जानकारी लॉग इन करने में सक्षम था।
संदेश संचालकों प्रक्रिया में पहले क्रियान्वित कर रहे हैं, और भी बहुत फिल्टर से कच्चे अनुरोध/प्रतिक्रिया मूल्यों के करीब संचालित (बहुत अमीर HttpActionContext और HttpActionExecutedContext वस्तुओं फिल्टर के भीतर उपलब्ध साथ HttpRequestMessage/HttpResponseMessage संचालकों में इस्तेमाल किया वस्तुओं विपरीत)। इससे उन्हें कुछ गतिविधियों के लिए संभावित रूप से अधिक कुशल बनाता है, उदाहरण के लिए, यदि आप यह निर्धारित करने की कोशिश कर रहे हैं कि आपको अनुरोध को जल्दी समाप्त करने की आवश्यकता है या नहीं। यदि आपको पता है कि अनुरोध अस्वीकार कर दिया जाना चाहिए, तो एक हैंडलर आपको वेबएपीआई इंफ्रास्ट्रक्चर को नियंत्रक को तत्काल करने, मॉडल बाध्यकारी आदि करने के प्रयास में चला गया है।
एक और अंतर यह है कि हैंडलर जंजीर हैं, और चेन निष्पादित करने के तरीके पर आपका अधिक नियंत्रण है। यद्यपि फ़िल्टर अनुक्रम में बुलाए जाते हैं, एक फ़िल्टर में प्रतिक्रिया सेट करने से अनुरोध को प्रभावी रूप से समाप्त कर दिया जाएगा, सूची में अगले फ़िल्टर को निष्पादित होने से रोक दिया जाएगा। उदाहरण के लिए, यदि आपके पास पहला फ़िल्टर है जो आपका मॉडल शून्य है, और अनुरोध को लॉग करने के लिए दूसरा फ़िल्टर खराब अनुरोध देता है, तो पहले फ़िल्टर द्वारा खराब अनुरोध उत्पन्न होने के बाद आपका दूसरा फ़िल्टर निष्पादित नहीं किया जाएगा। एक हैंडलर के साथ, यह अभी भी संभव होगा (यद्यपि आवश्यक सलाह नहीं है!) आंतरिक हैंडलर को कॉल करने के लिए और हैंडलर श्रृंखला को सामान्य रूप से संचालित करने की अनुमति दें।
- 1. HtmlControls बनाम WebControls का उपयोग कब करें
- 2. RACReplaySubject बनाम RACMulticastConnection का उपयोग कब करें?
- 3. SQLITE_TRANSIENT बनाम SQLITE_STATIC का उपयोग कब करें?
- 4. टेम्पलेट बनाम विरासत का उपयोग कब करें
- 5. टचमोव बनाम mousemove का उपयोग कब करें?
- 6. विशेषता का उपयोग कब करें (संपत्ति बनाम)?
- 7. स्ट्रेट बनाम str_replace का उपयोग कब करें?
- 8. उपयोग करने के लिए() बनाम 'as' का उपयोग कब करें?
- 9. ko.utils.unwrapObservable का उपयोग कब करें?
- 10. पाइथन में गुणों का उपयोग कब करें विशेषताएँ बनाम कब उपयोग करें?
- 11. reinterpret_cast का उपयोग कब करें?
- 12. ओपनसीएल का उपयोग कब करें?
- 13. फ्लेक्स - रीमोटिंग बनाम HTTPService - कब उपयोग करें?
- 14. रूबी बनाम कब उपयोग करें PHP
- 15. PHP कक्षाएं: कब उपयोग करें :: बनाम ->?
- 16. टेम्पलेट विधि बनाम कब उपयोग करें। रणनीति?
- 17. वेक्टर का उपयोग कब करें और सी ++ में सरणी का उपयोग कब करें?
- 18. Jquery - "यह" कब उपयोग करें और "$ (यह)" कब उपयोग करें?
- 19. इनलाइन का उपयोग :: सीपीपी बनाम एसडब्ल्यूआईजी - कब?
- 20. ट्यूपल का उपयोग कब और कब करें?
- 21. अपाचे बनाम अपाचे + टोमकैट का उपयोग कब करें?
- 22. स्थानीय बनाम रिमोट अभिनेताओं का उपयोग कब करें?
- 23. एचडीएफएस बनाम ग्रिडएफएस: किस का उपयोग कब करें?
- 24. डीबग बनाम यूनिट परीक्षणों का उपयोग कब करें?
- 25. टाइपस्क्रिप्ट में कक्षा बनाम मॉड्यूल का उपयोग कब करें?
- 26. jQuery वाक्यविन्यास - $ (डॉलर) बनाम jQuery का उपयोग कब करें
- 27. आईफोन पर UIView बनाम UIViewController का उपयोग कब करें?
- 28. कोडनिर्देशक: मॉडल बनाम लाइब्रेरी का उपयोग कब करें?
- 29. मोक के कॉलबैक बनाम रिटर्न का उपयोग कब करें?
- 30. एएसपी.नेट एमवीसी बनाम एएसपी.नेट वेब फॉर्म का उपयोग कब करें?
http://forums.asp.net/t/1804456.aspx – user960567
एचटीपी मैसेज हैंडलर बनाम * ग्लोबल * एक्शनफिल्टर का उपयोग करने के लिए बेहतर सवाल हो सकता है। यह थोड़ा और आलसी लगता है। –