asp.net-core - ASP.NET Core 中的 Autofac 范围似乎在中间件之间有所不同

标签 asp.net-core autofac

当使用 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/

相关文章:

entity-framework - SQL 超时已过期。操作完成前超时时间已过或服务器未响应

c# - Autofac 枚举不适用于类型或模块的多个注册

c# - Autofac Singleton On激活解析

c# - Autofac:如何在依赖于另一个对象函数输出的类上使用构造注入(inject)

c# - 在 ASP.NET Core 3 中使用来自单独类的集线器

c# - 在 ASP.NET MVC Core 项目的 View 中使用 C# 7 功能

docker - 在 Docker 镜像构建时排除路径以提高大小

c# - 在 ASP.NET Core 的 Controller 中注入(inject)接口(interface)的特定实现

c# - Autofac 通过指定的构造函数解析类

.net - 重写成员时违反了继承安全规则 : 'Autofac.Integration.WebApi.AutofacWebApiDependencyResolver.BeginScope()'