Я пытаюсь вставить хранилище в фильтр действий, но получаю следующую ошибку:
Произошло необработанное исключение при обработке запроса.
InvalidOperationException: невозможно разрешить службу для типа
«... ISqlRepository» при попытке активации
'... MyActionFilterAttribute'.
Я пытаюсь следовать примеру Стива Смита из здесь . Все работает нормально, пока я не добавлю ссылку ISqlRepository в конструктор.
Вот соответствующие биты кода:
Startup.cs
services.AddScoped<MyActionFilterAttribute>();
MyActionFilterAttribute.cs (я понимаю, что я реализую IResultFilter здесь. Я просто пытаюсь придерживаться как можно ближе к примеру).
public class MyActionFilterAttribute: IResultFilter
{
private ILogger _logger;
private ISqlRepository _sql;
public MyActionFilterAttribute(ILoggerFactory loggerFactory, ISqlRepository sql)
{
_logger = loggerFactory.CreateLogger<LoaderActionFilterAttribute>();
_sql = sql;
}
MyController.cs
[Route("api/[controller]")]
[ServiceFilter(typeof(MyActionFilterAttribute))]
public class MyController: Controller