0
Castle Windsor 2.5. Cela échoue. Pourquoi? Est-ce désigné beahvior ou un bug? Apparemment, les résolveurs de sous-dépendance ne sont même pas interrogés lors de la résolution de services de niveau supérieur.Castle Windsor + ISubDependencyResolver: des problèmes étranges
class Program
{
class Resolver :ISubDependencyResolver
{
public object Resolve(CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency)
{
return new Program();
}
public bool CanResolve(CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency)
{
return dependency.TargetType == typeof (Program);
}
}
[STAThread]
static void Main()
{
var container = new WindsorContainer();
container.Kernel.Resolver.AddSubResolver(new Resolver());
var xxx = container.Resolve<Program>();
}
}
Problème réellement résolu (utilisé UsingFactoryMethod à la place ISubDependencyResolver) J'ai eu résolveur de session pour injecter NHibernate session dans mes contrôleurs MVC. Mais alors je voulais implémenter un utilitaire pour injecter des dépendances (par exemple des sessions) à mes filtres d'action. Cela nécessite une résolution directe parce que je trouve là des choses comme InjectProperties. –