【问题标题】:SOA: WCF and Web application - communication overheadSOA:WCF 和 Web 应用程序 - 通信开销
【发布时间】:2011-08-25 15:03:16
【问题描述】:

我正在研究大型企业系统架构。需要有多个移动客户端、Web UI 和用于外部应用程序的 API。所以,很明显我们应该实现面向服务的架构。我们将使用 WCF 作为服务层,使用 ASP.Net MVC 作为 Web 应用程序的框架。

我想知道如何实现 Web 应用程序和服务层之间的交互。在大多数情况下,它们将托管在同一台服务器上。只有大客户才能将单独的服务器用于服务层和 Web 应用程序。从性能的角度来看,使用 http 绑定在 web 和服务层之间进行交互看起来真的很糟糕。是否可以使用托管在与 MVC 应用程序相同的服务器(甚至在相同的 .Net 进程中)的 WCF,而无需通信开销?

【问题讨论】:

  • 回想一下,单个 WCF 服务会公开多个端点。

标签: asp.net-mvc wcf soa


【解决方案1】:

您可以尝试interprocess communication binding,它被认为是 WCF 支持的最安全(不接受来自另一台机器的调用)和最快(比 TCP 更轻)的绑定。

【讨论】:

    【解决方案2】:

    如果您与 WCF 通信,总会有开销。所以我认为一个更合适的问题是是否可以处理这种开销,或者您是否需要通过其他方式减轻它。

    如果您的 WCF 服务正在执行逻辑和/或为移动客户端和 API 调用提供外部应用程序的数据层接口,那么该逻辑不能移动到服务使用的通用 API 中吗?您组织内部的应用程序(即 Web 应用程序)是否可以使用相同的 API 层来避免服务?这可能是我的处理方式。还有一层,但该层可以由 WCF 使用以公开这种方式,或者直接由 ASP.NET 应用程序(或任何有权访问资源的 .NET 应用程序)使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多