2013-04-17 2 views
6

私は.Net MVC Webアプリケーション(WebAPIではなく)を持っており、コントローラに到達する前にWebアプリケーションへのすべての呼び出しを傍受し、要求ヘッダーの値をチェックし、値が現在(404を提示するなど)。これを行う理想的な方法は何ですか?これはWeb APIアプリケーションではなく、単純なWebアプリケーションであることに注意してください。MVC Web .Net:コントローラに達する前にすべての通話を傍受しますか?

+1

の可能重複[ASP.NET MVC 4インターセプトすべての着信要求(http://stackoverflow.com/questions/11726848/asp-net-mvc-4-intercept-all-incoming-requests) –

+0

あなたは値をチェックした後、コントローラに要求を渡すつもりですか? – Floremin

答えて

5

あなたをあなたの処理を実行するためにOnActionExecuting()をオーバーライドし、ActionFilterAttributeを継承するクラスを作成し、Global.asax.csにグローバルフィルタコレクションにインスタンスを追加他のすべてのコントローラーが拡張するデフォルトのコントローラーを使用できます。そうすればOnActionExecutingまたはInitializeを上書きしてそこにチェックを入れることができます。

public class ApplicationController : Controller 
{ 
    protected override void OnActionExecuting(ActionExecutingContext filterContext) 
    { 
     //do your stuff here 
    } 
} 

public class YourController : ApplicationController 
{ 

} 
3

グローバルアクションフィルタを探しています。

、あなたがやりたいこと、具体的内容に応じて(RegisterGlobalFilters()内側)

+0

この方法を使用すると、これを実行するルートを指定できますか? – ggderas

関連する問題