代码之家  ›  专栏  ›  技术社区  ›  Sandor Drieënhuizen

对Castle Windsor中现有服务实例的Setter注入

  •  1
  • Sandor Drieënhuizen  · 技术社区  · 14 年前

    Castle Windsor是否支持对现有服务实例应用setter注入?我有一个案例,在这个案例中,我无法控制某些类实例的创建,而我确实需要为它们解析依赖关系。这排除了构造函数注入,但为setter注入打开了大门,因为我可以在新实例创建后立即截取它们。

    我知道Castle Windsor支持现成的setter注入,我只是不知道不使用 Resolve 方法。

    我也知道在StructureMap中,使用 ObjectFactory.BuildUp 所以我希望能在温莎城堡找到一个类似的方法。

    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;
        }
    }
    
    3 回复  |  直到 14 年前
        1
  •  1
  •   PatrickSteele    14 年前

    请参阅本文的底部:

    http://www.jeremyskinner.co.uk/2008/11/08/dependency-injection-with-aspnet-mvc-action-filters/

    Jeremy为实现属性注入的Windsor容器提供了一个扩展方法。

        2
  •  1
  •   Community CDub    8 年前

    Castle Windsor是否支持对现有服务实例应用setter注入?

    FAQ 理由。

    我正在对ASP.NET WebForms中的页面应用依赖注入,

    this question .

        3
  •  1
  •   roelofb    14 年前

    看看尼尔·肖恩的 ASpNetWindsorModule