Autofac.Core.DependencyResolutionException: An exception was thrown while activating Prj.Service.ProRequirementService -> Prj.Service.PrjListService -> Prj.Service.PrjMemosService.
循环依赖问题处理方法:
方案一
调整代码结构,不允许出现循环依赖
方案二
加上
.PropertiesAutowired(PropertyWiringOptions.AllowCircularDependencies)
实测,为解决
方案三
使用Lazy
public class ClassA
{
public string Name => "A";
private readonly Lazy<ClassB> _b = null;
public ClassA(Lazy<ClassB> b)
{
_b = b;
}
public void Execute()
{
Console.WriteLine(_b.Value.Name);
}
}
public class ClassB
{
public string Name => "B";
private readonly Lazy<ClassA> _a = null;
public ClassB(Lazy<ClassA> a)
{
_a = a;
}
public void Execute()
{
Console.WriteLine(_a.Value.Name);
}
}
太麻烦,未测试