用于接收文件和字符串的Web API与WCF服务

时间:2013-09-27 08:15:09

标签: .net wcf web-services asp.net-web-api

我最近读了很多文章,这表明WCF可能没有长期的未来,或者至少,这是非常未知的,因为WebAPI正在成为首选工具。

我需要创建一个接收三条信息的WebAPI / WCF服务:

  1. 一个XML文件(可能很大,最多10mb)
  2. 用户名字符串
  3. 密码字符串
  4. 该服务将作为ASP.NET4.5 Web表单站点的一部分托管在IIS上,但将接收主要从Oracle系统(如Oracle)发送的数据。因此,默认情况下它将基于HTTP。

    根据第一个声明,有人能给我一个线索,我应该采取哪种方法?我主要关注客户提出请求的可靠性和易用性。

    由于服务合同方法,WCF服务似乎是我的最佳选择,但我对WebAPI的优势并不十分了解。

    我并不是说这是一个引人注目的讨论,但是由于许多人必须在思考同样的事情,因此简短而事实。

2 个答案:

答案 0 :(得分:2)

我使用更简单的框架(如WebAPI或ServiceStack)取得了更好的结果。

即使基于合同的方法易于实现,您也会发现一些限制,它不像WebAPI那么简洁,也不那么容易维护。

使用WebAPI,您可以使用更类似于HTTP的方法来定义API,如果您喜欢REST,那么WebAPI是正确的选择。

我只会在你必须实现SOAP WS的情况下使用WCF。

答案 1 :(得分:2)

您对WCF未来的看法是错误的。 WCF和WebAPI之间存在差异。 WebAPI基本上是RESTfull服务/ WCF REST。 REST和WCF之间存在巨大差异:您可以谷歌了解更多详情。 选择使用哪一个实际取决于您的需求。 您不应该使用REST提供高度的联合数据。为此目的使用WCF。 而且,如果您需要为您的客户提供数据列表,对于所有/大多数客户来说几乎都是相同的,那么最好使用REST,因为它使用缓存并减少数据库的负载和服务器。