如何使用 mvc 注册全局过滤器 6, asp.net 5

How to register a global filter with mvc 6, asp.net 5

我正在尝试在一个简单的 mvc 应用程序中注册一个过滤器。除了基本过滤器之外,我什至还没有真正编写任何东西来进行测试。我正在使用 VS 2015 RC,我通过转到新项目 -> Asp.net Web 应用程序 -> Web API 创建了初始应用程序。我遇到的问题是我找不到全局注册过滤器的方法。

在早期版本的 MVC 中,我看到了 GlobalFilters.Filters,但是当我尝试在新框架中使用它时,它告诉我找不到 GlobalFilters。在以前的版本中,它位于 System.Web.MVC,但我在我的参考文献中不再看到它,而且我似乎无法在任何地方找到它。

这看起来应该很简单,但到目前为止我还没有找到方法。

这是我的 project.json

{
  "webroot": "wwwroot",
  "version": "1.0.0-*",

  "dependencies": {
    "Microsoft.AspNet.Mvc": "6.0.0-beta4",
    "Microsoft.AspNet.Server.IIS": "1.0.0-beta4",
    "Microsoft.AspNet.Server.WebListener": "1.0.0-beta4",
    "Microsoft.AspNet.StaticFiles": "1.0.0-beta4"
  },

  "commands": {
    "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5000"
  },

  "frameworks": {
    "dnx451": {
      "frameworkAssemblies": {
      }
    },
    "dnxcore50": { }
  },

  "exclude": [
    "wwwroot",
    "node_modules",
    "bower_components"
  ],
  "publishExclude": [
    "node_modules",
    "bower_components",
    "**.xproj",
    "**.user",
    "**.vspscc"
  ]
}

如何在 MVC 6 中执行此操作的示例

public void ConfigureServices(IServiceCollection services)
{
   services.AddMvc();
   services.ConfigureMvc(options =>
   {
      options.Filters.Add(new YouGlobalActionFilter());
   }
}

对于 Beta 8,现在通过 AddMvc 完成,如下所示:

services.AddMvc(options =>
{
    options.Filters.Add(new YouGlobalActionFilter());
});