tôi có một phần của mã có phụ thuộc mà hình như sau:AutoFac: PropertyWiringFlags.AllowCircularDependencies làm gì?
public class MyPage : Page //ASPX WebForms page
{
public IPersonBl PersonBl { get; set; }
}
public class PersonBl : IPersonBl
{
public PersonBl(ISomeMagicBl magicBl){...}
}
public class SomeMagicBl : ISomeMagicBl
{
public IPersonBl PersonBl { get; set; }
public SomeMagicBl(/*Other dependencies*/) {...}
}
cấu hình mô-đun của tôi trông như sau
...
builder.RegisterAssemblyTypes(ThisAssembly).Where(t => t.Name.EndsWith("BL")).AsImplementedInterfaces().PropertiesAutowired(PropertyWiringFlags.AllowCircularDependencies).InstancePerLifetimeScope();
...
Như có thể thấy, tôi có phụ thuộc vòng tròn trong lớp học của tôi mà tôi có thể giải quyết bằng cách sử dụng ..PropertiesAutowired(PropertyWiringFlags.AllowCircularDependencies)..
.
Câu hỏi của tôi: Chính xác lá cờ này làm gì sau hậu trường để giải quyết các phụ thuộc vòng tròn này ??
Hoàn hảo, thx. Tôi cho rằng bạn đã áp dụng loại chiến lược như vậy, chỉ muốn chắc chắn :) – Juri