tengo parte de un código que tiene dependencias que se ven de la siguiente manera:AutoFac: ¿Qué hace PropertyWiringFlags.AllowCircularDependencies?
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*/) {...}
}
Mi configuración del módulo se ve de la siguiente manera
...
builder.RegisterAssemblyTypes(ThisAssembly).Where(t => t.Name.EndsWith("BL")).AsImplementedInterfaces().PropertiesAutowired(PropertyWiringFlags.AllowCircularDependencies).InstancePerLifetimeScope();
...
Como se puede ver, tengo dependencias circulares en mis clases que pude resolver usando el ..PropertiesAutowired(PropertyWiringFlags.AllowCircularDependencies)..
.
Mi pregunta: ¿Qué hace exactamente esta bandera entre bastidores para resolver estas dependencias circulares?
Perfecto, thx. Supuse que aplicaste ese tipo de estrategia, solo quería estar seguro :) – Juri