使用WCF + IOC Structuremap的SOA体系结构

Die*_*rea 5 structuremap asp.net-mvc wcf soa

我对像StructureMap这样的DI容器有点新,我用asp.net mvc应用程序已经用了很短的时间.现在,我正在拆分我的架构,它将拥有一个WCF服务层和一些消费者,如ASP.NET MVC应用程序,Silverlight应用程序和Winfors/WPF应用程序.当我使用带有asp.net mvc的SM时,我已经通过asp.net mvc的应用程序启动初始化了IOC,现在,对于许多项目使用我无法想象IOC配置应该位于的好地方.我也想在服务层制作DI(注入存储库).

在这种情况下,我在哪里加载我的IOC配置以及我将如何在整个项目中使用(比如只在asp.net mvc应用程序中需要控制器工厂)?

Mar*_*ann 2

您为每个应用程序创建并配置一个容器。

如果您有 ASP.NET MVC 站点,则可以在 Global.asax 中创建并配置容器实例。

在 WCF 服务中,您可以编写一个自定义ServiceHostFactory来启动一个自定义ServiceHost,该自定义再次附加IInstanceProvider一个使用容器实例来连接 WCF 服务的适当的自定义。这听起来很复杂,而且确实比应有的更复杂。我之前曾在完全不同的上下文中谈到过这个主题,但是这篇博文应该会给您一些提示 - 特别是如果您记住委托是匿名接口的话