【问题标题】:Benefits of WCF Service Layer on a ASP.NET Website?ASP.NET 网站上 WCF 服务层的好处?
【发布时间】:2013-10-08 21:19:48
【问题描述】:

我需要有关我的新应用程序架构的建议。在我工作的环境中,我们通常创建基于 Win 的应用程序,这些应用程序由 UI 层、业务层、WCF 服务层和数据访问层组成。它们位于 3 层架构上,服务服务器、数据库服务器和客户端机器通过应用服务器上的 Citrix 访问应用程序。我刚刚创建了一个网络应用程序,我的管理员建议它应该托管在一个单独的网络服务器上,我的问题是,我的网络应用程序是否需要使用 WCF 服务层,因为它可以托管在同一个应用程序服务器上?基本上,网站是否需要使用 wcf/service 层,有什么好处?

【问题讨论】:

    标签: asp.net wcf web-services architecture n-tier-architecture


    【解决方案1】:

    1。 读这个: http://www.codeproject.com/Articles/10746/Dude-where-s-my-business-logic

    我的建议: 至少,您应该使用 WCF,并使用“命名管道”。您可以在同一台机器上部署主机(WCF)和客户端(Asp.Net 网站)。 Asp.Net 网站将成为“客户端”并访问该服务。

    然后,如果您想要水平扩展,您所要做的就是更改 .config 设置以使用除命名管道之外的不同协议。 即,即使您将两者部署在同一台物理机上,您也将拥有“逻辑分离”。

    他们(网站、任何项目)“不需要”做任何事情。

    如果需要,您可以在 Web 表单上的按钮后面编写内联 sql 代码。 但它不可维护。而且它不可扩展。这可能是愚蠢的。 但是,恕我直言,一开始就为 SOA 投入中型到大型应用程序的努力是值得的。

    【讨论】:

      【解决方案2】:

      这是一个没有具体可能答案的问题,您需要 wcf 吗?这取决于您想要实施的要求和架构。

      根据您提供的小上下文,也许您可​​以获得以下一些好处

      • WCF 为操作提供状态
      • 快速处理(二进制序列化)
      • WCF 比传统的 asmx Web 服务更有可能“可测试”
      • 您可以访问为桌面应用程序构建的同一后端

      关于是否可以从同一台服务器访问,简短的回答是肯定的(显然你需要衡量你的服务器能力)

      我已经完成了一些根本不使用 wcf 的应用程序,以及将它用于某些操作的其他应用程序,您可以查看SO answer 以获得一个很好的例子,其中 wcf 可能是一个很好的候选者在应用中。

      【讨论】:

      • 我同意。没有“具体”的答案。我并不总是使用 WCF/SOA。但是,如果有一天这个项目“有任何机会”变得更大,我会把跑腿的工作放在前面。
      猜你喜欢
      • 2011-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-08
      • 2011-04-24
      相关资源
      最近更新 更多