我正在尝试在简单的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"
]
}
答案 0 :(得分:33)
使用Beta 8,现在通过AddMvc完成,如下所示:
services.AddMvc(options =>
{
options.Filters.Add(new YouGlobalActionFilter());
});
答案 1 :(得分:10)
如何在MVC 6中执行此操作的示例
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.ConfigureMvc(options =>
{
options.Filters.Add(new YouGlobalActionFilter());
}
}