Ho parte di un codice che ha dipendenze che apparire come segue:AutoFac: cosa fa 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*/) {...}
}
La mia configurazione del modulo si presenta come segue
...
builder.RegisterAssemblyTypes(ThisAssembly).Where(t => t.Name.EndsWith("BL")).AsImplementedInterfaces().PropertiesAutowired(PropertyWiringFlags.AllowCircularDependencies).InstancePerLifetimeScope();
...
Come si può vedere, ho dipendenze circolari nelle mie classi che sono stato in grado di risolvere utilizzando il ..PropertiesAutowired(PropertyWiringFlags.AllowCircularDependencies)..
.
La mia domanda: Che cosa fa esattamente questa bandiera dietro le quinte per risolvere queste dipendenze circolari ??
Perfetto, thx. Immaginavo che applicassi questo tipo di strategia, volevo solo essere sicuro :) – Juri