【发布时间】:2019-04-05 14:34:13
【问题描述】:
我正在尝试将存储库注入操作过滤器,但收到以下错误:
处理请求时发生未处理的异常。 InvalidOperationException:无法解析类型的服务 '...ISqlRepository' 尝试激活时 '...MyActionFilterAttribute'。
我正在尝试从 here 遵循史蒂夫·史密斯的模式。在我将 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
【问题讨论】:
-
你注册你的仓库类了吗?
标签: c# dependency-injection .net-core action-filter