【发布时间】:2011-04-24 15:53:26
【问题描述】:
我有一个 WCF 服务,它调用调用存储库的业务组件,我已经使用 Castle Windsor 使用它的 WCF 设施端到端地工作。
WCF 设施注册和其余的组件注册发生在 Global.asax 文件中,如下所示。
公共类全球:System.Web.HttpApplication { 公共 IWindsorContainer 系统容器; protected void Application_Start(object sender, EventArgs e) { 注册依赖(); } 私人无效注册依赖() { SystemContainer = new WindsorContainer(); SystemContainer.AddFacility一切都很好,但现在我需要在我的一个组件中引用这个容器,以便我可以像这样解析其他组件。
公共类 BookingBll : IBookingBll { 私人 IBookingRepository _repository; 私人 ILogger _logger; 公共 BookingBll(IBookingRepository 存储库) { _repository = 存储库; _logger = SystemContainer.Resolve此外,我希望这个容器在全球范围内可用并且不想一遍又一遍地运行注册,所以我应该考虑在 HttpRuntime.Cache 中关闭这个容器以便它可用并且任何组件都可以简单地从缓存中获取它并解决他们想要的任何界面。
请原谅我的无知,因为我是 WCF 和温莎城堡的新手,整个建筑在截止日期前都被扼杀了:-(
【问题讨论】:
-
你在这里做了什么?我也有同样的情况。
标签: c# wcf dependency-injection castle-windsor