ASP.NET MVC में आप एक custom global action filter लिख सकते हैं।
अद्यतन:
यहाँ टिप्पणी अनुभाग में अनुरोध के रूप में इस तरह के फिल्टर की तरह लग सकता है कि कैसे का एक उदाहरण है:
public class MyActionFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var fooCookie = filterContext.HttpContext.Request.Cookies["foo"];
// TODO: do something with the foo cookie
}
}
आप कुकी के मूल्य के आधार प्राधिकरण निष्पादित करना चाहते हैं , IAuthorizationFilter इंटरफ़ेस को कार्यान्वित करने के लिए और अधिक सही होगा:
public class MyActionFilterAttribute : FilterAttribute, IAuthorizationFilter
{
public void OnAuthorization(AuthorizationContext filterContext)
{
var fooCookie = filterContext.HttpContext.Request.Cookies["foo"];
if (fooCookie == null || fooCookie.Value != "foo bar")
{
filterContext.Result = new HttpUnauthorizedResult();
}
}
}
आप प्रत्येक नियंत्रक कार्रवाई के लिए प्रत्येक अनुरोध पर चलने के लिए इस कार्रवाई फिल्टर चाहते हैं तो आप एक वैश्विक कार्रवाई RegisterGlobalFilters
विधि में अपने Global.asax में फिल्टर के रूप में यह रजिस्टर कर सकते हैं:
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
filters.Add(new MyActionFilterAttribute());
}
और यह केवल निष्पादित करने के लिए अगर आप की जरूरत है
[MyActionFilter]
public ActionResult SomeAction()
{
...
}
स्रोत
2012-03-01 06:54:24
हो सकता है कि इस http://stackoverflow.com/questions/2650269/how-do-i-get-certain-code-to-execute-before-: के लिए विशेष क्रिया या नियंत्रकों बस इस विशेषता के साथ उन्हें सजाने प्रत्येक-सिंगल-कंट्रोलर-एक्शन-इन- – V4Vendetta
आप नियंत्रक –
पर एक्शनफ़िल्टर एट्रिब्यूट डालना चाहते हैं, मैं als o देखें कि विधि क्या कर रही है और यदि इसे अभी भी एमवीसी में जरूरी है, तो कोई नई बात यह नहीं है कि नई तकनीक अप्रचलित हो। – TheRealTy