2013-12-18 59 views

回答

-1

在你的web.config的資源,要素在<system.webServer>您可以添加以下節點

<modules runAllManagedModulesForAllRequests="false" />

這將告訴IIS只爲已知的請求類型運行管理模塊。如果您的服務器針對MVC請求設置了無擴展名或.mvc,則它們仍將被處理。

4

而不是使用global.asax,使用動作過濾器,然後你可以裝飾確切的控制器或行動來執行你的邏輯。

覆蓋一個或全部下列方法:

public class MyActionFilterAttribute : ActionFilterAttribute 
{ 
    public override void OnActionExecuted(ActionExecutedContext filterContext) 
    { 
     base.OnActionExecuted(filterContext); 
    } 
    public override void OnActionExecuting(ActionExecutingContext filterContext) 
    { 
     base.OnActionExecuting(filterContext); 
    } 
    public override void OnResultExecuted(ResultExecutedContext filterContext) 
    { 
     base.OnResultExecuted(filterContext); 
    } 
    public override void OnResultExecuting(ResultExecutingContext filterContext) 
    { 
     base.OnResultExecuting(filterContext); 
    } 
} 

裝飾你的動作或控制器

[MyActionFilter] 
public class MyController { 
    [MyActionFilter] 
    public ActionResult MyAction() 
    { 
     return View(); 
    } 
} 

http://msdn.microsoft.com/en-us/library/dd410209(v=vs.100).aspx其他行動的過濾器。

0

您可以檢查HttpContext.Current.Request.Path的值,它給出資源的URL。 這是你的問題的答案,但我更喜歡Jasen的回答。

相關問題