ASP.NET网站上WCF服务层的好处?

时间:2013-10-02 13:15:15

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

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

2 个答案:

答案 0 :(得分:1)

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

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

然后,如果您想要横向缩放,您所要做的就是更改.config设置以使用除命名管道之外的其他协议。 Aka,即使你在同一台物理机器上部署它们,你也会有“逻辑分离”。

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

如果需要,可以在webforms上的按钮后面编写内联sql代码。 但它不可维护。它不具备可扩展性。这可能是愚蠢的。 但是,在开始时,将大中型应用程序放到SOA中是值得的,恕我直言。

答案 1 :(得分:0)

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

根据您提供的小环境,您可以获得以下好处

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

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

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