我正在编写集成测试,在每个测试设置上设置容器。我正在重用注册码,但在尝试使用Lifestyle.Scoped注册依赖项时出错。我收到此错误:
SetUp:System.InvalidOperationException:为了能够使用Lifestyle.Scoped属性,请通过为您的类型设置所需的范围生活方式的Container.Options.DefaultScopedLifestyle属性,确保容器配置了默认范围的生活方式。应用
在我的情况下,我应该使用什么DefaultScopedLifestyle?范围应该是单身,但请记住我正在重复使用webapi应用程序中的注册码。
答案 0 :(得分:3)
对于集成测试场景,可以使用的范围生活方式是Per Lifetime Scope和Per Execution Context Scope。 Per Lifetime Scope允许定义绑定到线程的作用域,而Per Execution Contest Scope允许定义将在异步操作上流动的作用域。