这就是我的AutoFac设置:
builder.RegisterType<CachingOuterClass>().SingleInstance(); // Singleton
builder.RegisterType<InnerClassAzureClient>().InstancePerRequest();这个设置是如何工作的?
public class CachingOuterClass
{
public CachingOuterClass(InnerClassAzureClient innerClassAzureClient)
{
//...
}
}当缓存外部类永久保存并且一旦实例化后,如何通过api请求传递azure客户端类?
发布于 2015-10-02 17:04:13
在常见问题中对这个问题有详细的解释。太长了,不能把它当作答案。
它确实涵盖了你的具体问题:
在分析问题依赖链中的注册时,请查看注册的生存期范围。如果您的组件注册为SingleInstance(),但它(可能是间接的)使用注册为InstancePerRequest()的组件,则这是一个问题。SingleInstance()组件在第一次解析时将获取它的依赖项,并且永不松手。如果这种情况发生在应用程序启动时或没有当前请求的后台线程中,您将看到此异常。您可能需要调整某些组件生存期范围。同样,了解依赖生存期作用域在一般情况下是如何工作的是非常好的。
https://stackoverflow.com/questions/32912167
复制相似问题