1
ich meine Implementierung von Controller haben für in-Controller Konstruktor Injektion Handhabung, jedoch möchte ich Standardmethode verwenden Controller in Fall zu lösen, wenn einige von ihnen nicht registriert sind:Gibt es eine sichere Möglichkeit, eine Komponente von Castle.Windsor zu lösen?
public class WindsorControllerFactory : DefaultControllerFactory
{
private readonly IWindsorContainer _container;
public WindsorControllerFactory(IWindsorContainer container)
{
_container = container;
}
protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType)
{
if (controllerType != null)
{
try
{
return _container.Resolve(controllerType) as IController;
}
catch(Exception ex)
{
return base.GetControllerInstance(requestContext, controllerType);
}
}
else
{
return base.GetControllerInstance(requestContext, controllerType);
}
}
}
Es funktioniert, aber ich würde wirklich gerne zu vermeiden Ausnahmen
Warum sind einige Controller nicht in Ihrem Container registriert? – Steven
Vielleicht ist es falsch, aber ich möchte in Container nur Controller mit parametrisierten Konstruktoren, nicht alle von ihnen registrieren. – kagetoki
Und was wäre der Vorteil davon? – Steven