एएसपी.नेट एमवीसी नियंत्रक को सशर्त रूप से अक्षम करने का सबसे अच्छा तरीका क्या है?सशर्त रूप से एएसपी.नेट एमवीसी नियंत्रक को अक्षम करें
मैं अगर web.config में कुछ मूल्य "सही" है नियंत्रक कार्यों के लिए एक उपयोग कर सकते है करना चाहते हैं और 404 अगर यह "गलत"
मैं अपने ही विशेषता लिखना चाहिए है?
अद्यतन: (निर्माता का श्रेय देना स्थिर नहीं पैरामीटर पारित करने की क्षमता के साथ) कार्रवाई फिल्टर विशेषता की तुलना में अधिक सुरुचिपूर्ण समाधान के लिए खोज रहे
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public class CloseForSomeSettingAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
bool mySettingValue = MySettingManager.GetMySettingValue();
if (mySettingValue)
{
filterContext.Result = new HttpStatusCodeResult(404);
}
else
{
base.OnActionExecuting(filterContext);
}
}
}
धन्यवाद। एक्शन फ़िल्टर विशेषता लिखी है (मेरी टिप्पणी देखें)। लेकिन शायद कुछ और सुरुचिपूर्ण समाधान मौजूद है? –
मुझे आपका उद्देश्य यहां नहीं पता है, लेकिन शायद यह सबसे अच्छा है कि यह आवेदन स्तर पर ऐसा न करें? मैं उन मार्गों के नियमों को सेट करने के लिए IIS url-rewrite मॉड्यूल का उपयोग कर सोच रहा हूं, जिन्हें आप 404 लौटने के लिए देख रहे हैं। नीचे दिए गए उदाहरणों पर नज़र डालें: http: //blogs.iis.net/ruslany/archive/2009/04/ 08/10-url-rewriting-tips-and-tricks.aspx – igz168
नहीं। मुझे इसे web.config फ़ाइल से स्विच करने की क्षमता रखने की आवश्यकता है। –