将asmx SOAP webservice转换为ASP.NET上的REST:WCF真的非常有用吗?

时间:2010-09-27 05:33:28

标签: c# wcf web-services

为什么不在配置中添加http get支持,这样做的好处是服务将同时兼具SOAP和REST?

休息时有什么嗡嗡声? WCF将为此带来什么?

我的意思是,从REST客户端应用程序的角度看有什么不同如果我只是在我的web.config中为我的asmx webservice设置为能够接受类似于休息的语法

  <webServices>
    <protocols>
      <add name="HttpGet" />
    </protocols>
  </webServices>

和WCF REST实施http://geekswithblogs.net/.NETonMyMind/archive/2008/02/04/119291.aspx

似乎没有人能真正回答......是因为它很难或者我的问题是愚蠢的:)

客户端只看到url(封装原则)所以我为什么要打扰更多?还有什么还不清楚:)

其他问题:如果我们切换到WCF,我们是否需要更改网址?如果是,这意味着我们所有的合作伙伴客户都将被打破,我将不得不通知他们我们的变更?

1 个答案:

答案 0 :(得分:5)

WCF与REST无关。您无需使用WCF即可构建自己的REST服务。 SOAP东西..在.Net 2.0

中查看此示例REST服务构建

并查看优秀的.Net open source REST implementation

要了解有关REST的更多信息,请阅读这些

  1. http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm
  2. http://en.wikipedia.org/wiki/Representational_State_Transfer
  3. What exactly is RESTful programming?
  4. REST / SOAP endpoints for a WCF service
  5. Understanding REST: Verbs, error codes, and authentication
  6. 发表评论:

      

    如果我已经有一个asmx webservice   可以转换为REST   一行配置文件?

    ASMX服务基于SOAP构建,是基于HTTP的另一层。 REST只是基于HTTP的,您可以像访问普通URL一样访问(或调用)您的业务资源。没有更多的抽象。

    在REST中,资源由持久标识符(URL)标识。

    对于产品目录系统中的ex,通过使用asmx,您可以创建一组功能来添加,更新,删除产品。像addProduct(),updateProduct等..

    但在REST中,您将拥有单点访问权限,例如 HTTP:\ mysystem \农资。要检索,添加,更新,删除产品,您将在同一URL上使用相应的HTTP谓词(GET,POST,PUT,DELETE)。

    所以你不能只将asmx转换为REST,因为它们都以不同的方式解决了问题。