【问题标题】:Web site deployment - WCF services in an external DLL网站部署 - 外部 DLL 中的 WCF 服务
【发布时间】:2012-07-30 04:36:13
【问题描述】:

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

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

但是,当我想运行网站时,我仍然需要确保所有 WCF 绑定和端点都存在于 web.config 的网站。

我的问题是,是否可以将所有这些配置包含在实际与服务一起使用的程序集中,这样 Web 项目就可以完全不知道它们?

提前致谢。

【问题讨论】:

    标签: .net wcf web-config inversion-of-control wcf-binding


    【解决方案1】:

    我们需要把所有的配置条目放到运行的应用的web.config/app.config中。

    要让 Web 应用程序不知道服务,您可以

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

    【讨论】:

    • 是的,我在考虑拥有一个单独的 services.config 文件。我想知道是否有更好(更神奇)的方式来使用 IoC 来做到这一点。
    • 我能想到的另一种方法是使用单独的 AppDomain 中的服务加载 dll。然后,框架将读取它的配置文件。如果您使用的是 .Net 4.0,请检查 Managed Extensibility Framework。
    猜你喜欢
    • 2011-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多