Для этого вам необходимо явно добавить System.Web.Mvc.dll
в ваш проект. Выполните следующие действия:
В вашем проекте под Dependencies
в обозревателе решений щелкните правой кнопкой мыши и выберите вариант Add Reference
. Затем в окне Reference Manager
нажмите «Обзор».
Затем перейдите к месту установки ASP .NET. Это должно быть здесь:
Программные файлы (x86) -> Microsoft ASP.NET -> ASP.NET MVC 4.6 -> Сборки ---> System.Web.Mvc.dll
Включите этот файл в ваши сборки в вашем проекте. Как только вы включите этот файл .dll, просто импортируйте using System.Web.Mvc;
, и тогда вы сможете использовать GlobalFilterCollection filters
в своем проекте.
EDIT
В .NET CORE изменился способ регистрации ваших фильтров. Я просто покажу вам небольшой пример того, как вы можете зарегистрировать фильтр.
Согласно официальной документации :
Вы можете зарегистрировать фильтр глобально (для всех контроллеров и действий), добавив его в коллекцию MvcOptions.Filters в методе ConfigureServices класса Startup
Например: если я хочу использовать AuthorizeAttribute, я не могу добавить AuthorizeAttribute
в MvcOptions.Filters
. Мне нужно создать AuthorizationPolicy
и использовать AuthorizeFilter
.
var authorizepolicy= new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.RequireRole("Admin", "SuperUser")
.Build();
services.AddMvc(options =>
{
options.Filters.Add(new AuthorizeFilter(authorizepolicy));
});