2010-02-23 102 views
5

我对于像StructureMap这样的DI容器有点新,并且我已经在asp.net mvc应用程序中使用了它很短的时间。现在我分裂了我的架构,它将有一个WCF服务层和一类像ASP.NET MVC应用程序,Silverlight应用程序和Winfors/WPF应用程序之类的消费者。当使用SM与asp.net mvc时,我已经通过asp.net mvc的应用程序启动来初始化IOC,现在,对于许多项目,我无法想象IOC配置应该位于哪个位置。 我也想在服务层中创建DI(注入存储库)。WCF + IOC结构图的SOA架构

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

+0

当然,我对其他人开放办法只是说我会看他说的越深,反正。任何人有关于这个问题的另一个建议? – 2010-02-24 01:01:11

回答

2

您可以创建并配置每个应用程序的容器

如果你有一个ASP.NET MVC站点,你可以在Global.asax中创建和配置一个容器实例。

在WCF服务,您可以编写自定义ServiceHostFactory是旋转了一个自定义ServiceHost一遍重视,使用的容器实例线了WCF服务的适当IInstanceProvider。这听起来很复杂,而且它肯定比它本该更复杂。我以前在完全不同的背景下提到了这个问题,但this blog post应该给你一些提示 - 特别是如果你记住delegates are anonymous interfaces

+0

我会看看它,任何我会发布的消息。并感谢您的答复,现在在Twitter的跟随你=) – 2010-02-23 23:17:43

+0

我只是完成这个一个11页的详细演练为我即将推出的新书。希望它能在一两个月内通过MEAP获得... – 2010-02-26 18:31:16