Настройка фильтра страницы бритвы ASP.NET Core с помощью model.Filters.Add <TFilterType>() - PullRequest
0 голосов
/ 04 декабря 2018

Я могу настроить фильтр страниц бритвы ASP.NET Core при запуске, который просто отлично внедряет зависимости, используя <<TType>>() вместо new Type():

services.AddMvc(options =>
{
    options.Filters.Add<Filters.AdminPageFilter>();
}).SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
services.AddHttpContextAccessor();

Это отлично работает, но хотелось бы применитьэто для каталога, выполняющего что-то вроде:

services.AddMvc().AddRazorPagesOptions(options =>
{
    options.Conventions.AddFolderApplicationModelConvention(
        "/Admin",
        model => model.Filters.Add<Filters.AdminPageFilter>()
        );
}).SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

Компиляция жалуется:

Ошибка CS7036 Не указан аргумент, соответствующий необходимому формальному параметру 'configureSource' в 'ConfigurationExtensions.Добавить (IConfigurationBuilder, Action) 'Startup.cs 71 Active

Можно ли просто указать тип с помощью model.Filters.Add<Filters.AdminPageFilter>() и не создавать новый экземпляр с помощью model.Filters.Add(new Filters.AdminPageFilter())?

...