【发布时间】:2016-02-28 00:12:11
【问题描述】:
我们有一个 IOrderManager 服务,它使用通过 AddScoped() 在 DI 中注册的其他一些服务。 现在我们需要在 OnMessage 处理程序中为某个队列使用该服务,显然,该队列是在任何请求管道之外引发的。 所以当我们尝试使用类似
的东西来获得我们的服务时var orderManager = ServiceProvider.GetRequiredService<IOrderManager>();
我们遇到“无法访问已处置的对象...”异常。
问题:是否有可能“告诉” DI 我们正在进行一些“虚假请求”处理以避免处置注册为“范围”的服务?
【问题讨论】:
-
请提供更多信息。目前问题还不清楚。你从哪里得到orderManager?从哪里获取 serviceProvider?
标签: dependency-injection asp.net-core