WCF vs WEb api vs Web services for new ecommerce website

本文关键字:vs new ecommerce website for Web WEb api WCF services | 更新日期: 2023-09-27 18:35:47

我正在MVC和sql服务器中创建一个新的电子商务应用程序作为数据库。我想使用实体框架。我在选择数据访问层时感到困惑。我应该在 WCF vs Web api vs Web 服务中使用哪一个。将来我们可能需要安卓和IOS应用程序。我认为Web api将是最好的选择。

我试图找到 Web api 和 WCF 之间的区别,我发现的是。新的 ASP.NET Web API 是以前的 WCF Web API 项目的延续(尽管某些概念已更改)。

创建 WCF 最初是为了启用基于 SOAP 的服务。对于更简单的RESTful或RPCish服务(想想像jQuery这样的客户端),ASP.NET Web API应该是不错的选择。有成千上万的链接讲述了Rest,TCP,FTP,soap,Http。但是我在哪里找不到答案。我仍然很困惑哪一个可以解决我的问题。如果我选择Web api,实体框架可以与Web api集成吗?我是点网的新手。任何帮助都将非常有帮助。

编辑:@win感谢您的帮助。我想知道,如何决定我应该选择哪一个,RESTFull(Web api)或WCF(Soap)。应用程序中的哪些因素决定,使用哪一个。

WCF vs WEb api vs Web services for new ecommerce website

WCF 提供了许多功能,但代价是疯狂的配置设置。 疯狂的疯狂。 它涉及定义"ABC",地址,绑定,合同。 我总是告诉人们"使用 WCF:这是配置,而不是代码"。 配置它的选项太多了~。

如果您需要将少量数据推送/拉取到"客户端"(浏览器,Android,iPhone),那么WebApi是最好的选择。

一个功能,WebApi将通过请求的设置方式(在"标头"中)为您提供xml或json。

使用 WCF,您必须为 json 和 xml "编码"其中之一/或/两者兼而有之,这并非微不足道。 另外,您必须在服务方法(ABC的"合约")上放置属性,以表示"此方法将发回xml"或"此方法将发回json"。

您的 WebAPI 层将提供服务。 这通常意味着提供 json 数据或使用 json 数据。MS已经为您处理了"管道",因此在服务方面,这会自动神奇地发生。

我从 2005

年开始编写这两种代码(嗯,2005 年及以后的 WCF,后来使用 WebApi)。

WebApi 更容易处理,特别是对于初学者。

因此,除非您有非常具体的理由使用 WCF,否则我会使用 WebApi。

就ORM而言,这完全发生在"服务器端",因此您可以选择所需的任何一种。我会选择Poco/Code-First/Entity-Framework或NHibernate(用于"完整"ORM)或Dapper(用于micro ORM)。 使用哪个ORM本身就是一个完整的讨论。 但是快速建议,不要随意选择一个,做一点研究。 搜索诸如"实体框架与NHiberate"或"实体框架与 ADO.NET"或"Dapper vs NHiberate"之类的内容(您可以获得练习,任何组合,有时您会发现所有三个加上其他的比较。

这里有一个关于自动魔术线起来的小解释...您不在服务器端手动解析 json 的地方。

http://encosia.com/using-jquery-to-post-frombody-parameters-to-web-api/

和这里

http://encosia.com/rest-vs-rpc-in-asp-net-web-api-who-cares-it-does-both/

除了我的观点之外,这里有一篇Microsoft比较文章:

https://msdn.microsoft.com/en-us/library/jj823172.aspx

和引用:

使用 WCF 创建可通过各种传输访问的可靠、安全的 Web 服务。使用 Web API ASP.NET 创建可从各种客户端访问的基于 HTTP 的服务。如果要创建和设计新的 REST 样式服务,请使用 ASP.NET Web API。尽管 WCF 为编写 REST 样式的服务提供了一些支持,但 Web API ASP.NET 对 REST 的支持更加完整,并且所有未来的 REST 功能改进都将在 Web API 中进行 ASP.NET。如果您有现有的 WCF 服务,并且想要公开其他 REST 终结点,请使用 WCF 和 WebHttpBinding。