【问题标题】:Encapsulating multiple WCF services into a class library将多个 WCF 服务封装到一个类库中
【发布时间】:2013-04-15 08:41:06
【问题描述】:

我有一个具有多个端点的 WCF 服务。每个端点都有自己的配置。 我的问题是我试图找出什么是最好的。

1 - 向我的 MVC 应用程序添加对每个端点的服务引用

2 - 创建一个新的 DLL,它将引用每个端点,然后在我的 MVC 应用程序中添加一个仅对该 DLL 的引用。

我真的可以利用您的帮助来确定每种方法是否有任何缺点?


  • 更新 我忘了提到我有多个 MVC 应用程序,每个应用程序只使用一两个 WCF 服务。 更准确地说,我现在有 6 个 MVC 应用程序和 7 个 WCF 服务。每个 MVC 应用程序仅使用 2 个 WCF。 未来 MVC 应用和 WCF 的数量将会增长。

【问题讨论】:

    标签: c# asp.net-mvc wcf class-library


    【解决方案1】:

    我不会使用服务器引用,而只是将 svcutil 同时指向所有三个。它将生成一组代理和一个配置。它还允许您在服务之间共享数据合同。

    【讨论】:

      【解决方案2】:

      就我个人而言,我总是将我的 Web 引用和服务引用放在一个名为 SharedServices 的独立程序集中。那样;多个程序集可以共享相同的引用,并且可以在程序集之间共享数据类型。将 Web 引用附加到程序集可能会导致许多项目仅依赖于该程序集来实现 Web 服务定义。

      【讨论】:

        【解决方案3】:

        您可以编写一个服务代理来负责访问服务,为您的 MVC 应用程序抽象出这个逻辑。如果您需要,服务代理也将是实现其他逻辑(如缓存)的地方。请参阅下面的“服务代理”下的http://tinyurl.com/cbcepgl 以获取一些演示代码。

        【讨论】:

        • 我用更详细的信息更新了我的问题。我认为您的解决方案适用于不是 WCF 的服务,因为 WCF 服务已经只公开了公共方法签名,所以我不需要再提供方法的摘要
        • 好吧,每个 WCF 服务可以有一个服务代理,或者所有 WCF 服务都可以有一个服务代理;这是你必须做出的选择。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多