Поддерживает ли Castle Windsor применение установки сеттера к существующим экземплярам службы?У меня есть случай, в котором я не могу контролировать создание определенных экземпляров классов, в то время как мне нужно разрешить их зависимости.Это исключает внедрение конструктора, но оставляет дверь открытой для внедрения сеттера, поскольку я могу перехватывать новые экземпляры сразу после их создания.
Я знаю, что Castle Windsor поддерживает установку сеттера из коробки, я просто незнаю, возможно ли (и если да: как) использовать его явно, не используя метод Resolve
.
Я также знаю, что такое возможно в StructureMap, используя метод ObjectFactory.BuildUp
, чтобы повыситьЯ надеюсь найти эквивалент в Castle Windsor.
Если вам интересно, я применяю внедрение зависимостей к страницам в ASP.NET WebForms, предоставляя пользовательский PageHandlerFactory
.Я не хочу идти по пути создания самого обработчика страницы, я должен оставить это базовой реализации в классе PageHandlerFactory
.
public class CustomPageHandlerFactory : PageHandlerFactory
{
public override IHttpHandler GetHandler(HttpContext context, string requestType, string virtualPath, string path)
{
IHttpHandler handler = base.GetHandler(context, requestType, virtualPath, path);
Page page = handler as Page;
if (page == null)
{
return handler;
}
// Resolve dependencies using setter injection...
return page;
}
}