如何在Autofac提供的配置(Json / Xml)中将范围注册为InstancePerMatchingLifetimeScope。到目前为止,它把我的异常视为“无效范围”。
答案 0 :(得分:1)
Autofac配置当前不支持每个匹配生存期范围的实例。 You can see the code here where lifetime scope values are parsed中有一个table in the documentation showing what is currently supported-请确保滚动到表格的右侧,以便查看有效值列表。
答案 1 :(得分:0)
我尚未测试此解决方案。
请确保您在配置中使用了正确的字符串,请尝试以下操作
{
"instanceScope": "per-matching-lifetime"
}
我想您可以通过创建自定义模块来实现
public class CustomModule : Module
{
public bool TagName { get; set; }
protected override void Load(ContainerBuilder builder)
{
builder.Register<CustomType>().InstancePerMatchingLifetimeScope(TagName);
}
}
配置:
{
"modules": [{
"type": "MyNamespace.CustomModule, MyAssembly",
"properties": {
"TagName": "customRequest"
}
}]
}
如果这样做没有帮助,请提供有关项目类型的其他详细信息(asp.net核心/asp.net mvc),异常详细信息和堆栈跟踪。