【发布时间】:2011-10-28 14:50:16
【问题描述】:
我正在使用 Castle WCF 集成工具,因为我想将我的 WCF 服务与 Windsor IOC 集成。
我面临的问题是我无法为 DefaultServiceHostFactory 设置 IKernel。
我设置了容器:
container = new WindsorContainer().AddFacility<WcfFacility>();
container.Register(Component.For<DefaultServiceHostFactory>());
container.Register(Component.For<IFoo>().ImplementedBy<Foo>());
然后我设置 SVC 文件:
<%@ ServiceHost
Language="C#"
Debug="true"
Service="Foo"
Factory="Castle.Facilities.WcfIntegration.DefaultServiceHostFactory, Castle.Facilities.WcfIntegration"%>
当 WCF 尝试实例化 DefaultServiceHostFactory 时,它说 kernell 为空,并建议使用 DefaultServiceHostFactory.RegisterContainer(IKernel kernel) 方法。但是,此方法在最新版本的 WCF 工具中不可用。
如有任何帮助!
谢谢
【问题讨论】:
-
如何将您的解决方案作为答案并将其标记为答案?这样问题就不会留在未回答的列表中。
-
这将非常有用,因为我也在尝试解决这个问题。
标签: wcf inversion-of-control castle-windsor ioc-container castle