当使用 Autofac 注册对象并在中间件中解析并通过 Controller 再次在 MVC 中间件中解析时,实例是不同的。实例在每个生命周期范围内注册。
我在这里弹出了一个重现项目https://github.com/jakkaj/AutofacResolveIssue .
应用程序将值设置为 IUserService
在中间件中,然后尝试读取 ValuesController
中的值之后。
同样的技术在旧版本的 ASP.NET 中使用 autofac 也有效。有什么想法吗?
最佳答案
好的,所以我犯了一个错误,将我的依赖注入(inject)到中间件的构造函数中。
您应该将依赖项注入(inject) Invoke。
整个中间件对象在所有应用程序实例中都是单例的!
关于asp.net-core - ASP.NET Core 中的 Autofac 范围似乎在中间件之间有所不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38428669/