这个问题是我之前的问题DryIOC Decorator 和 InResolutionScopeOf的后续问题
我要做的是在 IAsyncRequestHandler 和 IAsyncNotificationHandler 的解析范围内创建 EF DbContext 实例,这意味着注入请求中的上下文不能与注入通知(从请求中发布)中注入的上下文相同。由于通知是从请求处理程序内部发布的,因此这种嵌套给我想要的设置带来了一些麻烦。
值得注意的是,在给定的 IAsyncRequestHandler 或 IAsyncNotificationHandler 实例中注入的每个 DbContext 在它们自己的装饰器中都需要相同。
我创建了一个 dotnetfiddle 并尝试设置它https://dotnetfiddle.net/KiFCHY。(我在这个例子中省略了装饰器)
它包含一个 RequestHandler,它在被调用时打印一条消息,然后它发布一个通知,该通知打印另一条消息。但是,如您所见,未调用通知是因为 MediatR 无法获取 IAsyncNotificationHandler 实例(因为它无法解析 DbContext)。
这种设置可以吗?
谢谢