2012-07-30 98 views
0

我有一个N层网站解决方案(基于MVC3),其中所有组件都通过IoC容器注册(即,Web项目没有引用除了接口和模型外)。网站部署 - 外部DLL中的WCF服务

解决方案中的一个项目需要使用外部WCF服务。这些WCF请求仅包含在此项目中,解决方案中的其他项目都不需要知道这一点。

然而,当我要运行的网站,我还需要确保所有的WCF绑定和端点存在于网站的web.config中

我的问题是,是否有可能包含实际与服务一起工作的程序集中的所有这些配置,以便Web项目可以保持幸福无知的状态?

在此先感谢。

回答

0

我们需要将所有配置条目放在运行的应用程序的web.config/app.config中。

为了让Web应用程序不了解有关的服务,您可以

  • 把所有的主机绑定,端点等细节代码,而不是配置文件。当然这会降低应用程序的可配置性。
  • 将所有服务相关的配置保存在单独的文件中,并在web.config中引用该文件。
+0

是的,我在考虑单独的services.config文件。我想知道是否有更好的(更Magic-y)的方式来做到这一点与IoC。 – 2012-07-30 04:52:28

+1

我能想到的另一种方式是在单独的AppDomain中使用服务加载dll。然后,框架将读取它的配置文件。如果您使用.Net 4.0,请检查托管扩展框架。 – danish 2012-07-30 05:23:22