asp.net核心依赖注入问题 - AddScoped没有创建新实例

时间:2018-05-17 00:02:36

标签: asp.net-core dependency-injection .net-core

我一直在使用asp.net核心依赖注入,我看到了一种不期望的行为,至少对我而言。我正在向容器添加新服务,如下所示:

services.AddScoped<IMyClass>(provider =>
{
   return new MyClass(
      "anyValue"
   });

之后,我将该类注入另一个类来使用它:

public class AnotherClass(IMyClass xxx){

}

问题在于,根据请求信息在MyClass构造函数上进行了一些配置。问题是我看到MyClass构造函数只在应用程序启动时执行。之后,该类似乎对所有调用使用相同的实例。由于我使用的是Scoped服务,我希望每个请求都有一个新实例,我错了吗?

感谢。

1 个答案:

答案 0 :(得分:3)

确定。问题是接收注射的类被作为单身添加到容器中。我刚把它改成了Scoped,一切运转良好。

谢谢!