【发布时间】:2021-06-10 13:42:17
【问题描述】:
我正在开发一个中间件,我想对内部日志库有一个可选的依赖项。换句话说,如果MyLoggingService 已注册,那就太好了!否则,生活将继续,并且将 ill 登录到控制台。
但是通过声明public async Task Invoke(HttpContext httpContext, MyLoggingService logger),我收到一个运行时错误,说它没有注册。我尝试将默认值设置为null,但这不起作用。另外,因为它是一个中间件,我不能重载Invoke 方法。
除了请求服务集合,自己解决依赖之外,有没有其他的解决方案?
【问题讨论】:
-
你可能真的发现了default interface implementation的用例
-
@Crowcoder 好吧,我以前读过,但是我根本不记得它。我不确定它将如何解决我未注册的服务运行时异常...
标签: c# .net dependency-injection asp.net-core-middleware