2

MVC アプリケーションにグローバル メッセージ ハンドラーを登録するにはどうすればよいですか?

Global.asax.cs に登録しようとしましたが、System.Web.Mvc.Controller から継承するすべてのコントローラーでエンドポイントにアクセスするたびに、このハンドラーが呼び出されることはありません。

ただし、System.Web.Http.ApiController から継承するすべてのコントローラーのルートにアクセスすると呼び出されます

これは、Global.asax.cs に入れたものです。

protected void Application_Start()
{
    //other initializing stuff here
    **GlobalConfiguration.Configuration.MessageHandlers.Add(new AuthenticationHandler());** 
}   
4

1 に答える 1

1

を探していると思いますFilters。次のようなものを構築できます。

public class MyAuthorizationFilter : IAuthorizationFilter
{
    public void OnAuthorization(AuthorizationContext filterContext)
    {
        // do your work here
    }
}

のグローバル フィルタ リストに追加しApplication_Startます。

GlobalConfiguration.Configuration.Filters.Add(new MyAuthorizationFilter());
于 2013-04-18T19:51:57.590 に答える