मेरे पास एक एएसपी.नेट वेब एपीआई प्रोजेक्ट है। प्रतिबिंब का उपयोग करके, मैं नीचे दिए गए उदाहरण में एचटीपी क्रिया ([HttpGet]
) कैसे प्राप्त कर सकता हूं) विशेषता जो मेरी क्रिया विधियों को सजाती है?मुझे रीएक्शन का उपयोग करके एक क्रिया के http क्रिया गुण कैसे प्राप्त करें - एएसपी.नेट वेब एपीआई
[HttpGet]
public ActionResult Index(int id) { ... }
मान लें कि मेरे पास मेरे नियंत्रक में उपर्युक्त क्रिया विधि है। अब तक, प्रतिबिंब का उपयोग करके मैं Index
कार्रवाई विधि है जो मैं एक चर बुलाया में जमा हो जाती है की एक MethodInfo वस्तु प्राप्त करने के लिए सक्षम किया गया है methodInfo
मैं निम्नलिखित का उपयोग कर http क्रिया पाने की कोशिश की, लेकिन यह काम नहीं किया - रिटर्न अशक्त:
var httpVerb = methodInfo.GetCustomAttributes(typeof (AcceptVerbsAttribute), false).Cast<AcceptVerbsAttribute>().SingleOrDefault();
कुछ मैंने देखा है:
मेरे उदाहरण के ऊपर एक ASP.NET वेब API प्रोजेक्ट मैं पर काम कर रहा हूँ से है।
ऐसा लगता है कि [HttpGet]
एक System.Web.Http.HttpGetAttribute
लेकिन नियमित में ASP.NET MVC परियोजनाओं [HttpGet]
है एक System.Web.Mvc.HttpGetAttribute
धन्यवाद @Elie, तथापि, अपने समाधान केवल एक ASP.NET MVC आवेदन के लिए काम करता है लेकिन एक ASP.NET वेब API अनुप्रयोग के लिए नहीं।एक वेब एपीआई प्रोजेक्ट में http क्रिया - HttpGet, एक एमवीसी प्रोजेक्ट में HttpGet से अलग है। – cda01