.Net&WCF - 如何创建REST而不是SOAP?

ary*_*axt 3 .net rest wcf json

我创建了几个服务,但它们都作为soap Web服务运行并返回soap消息.

1-如何让我的wcf项目变得宁静而不是肥皂?

2-如何让所有服务返回并期望json而不是xml?

mar*_*c_s 5

你需要做至少两件事:

  • 用a WebGetWebInvokeattribtue 装饰你的操作契约(服务方法)并定义一个URI模板

  • 定义使用webHttpBinding特定webHttp端点行为的服务端点

除此之外 - 您真的不需要做任何事情来启动和运行您的REST服务.

请注意:这只是将您当前的SOAP方法"暴露"为REST - 这不是"正确的"REST编程风格.要做到这一点,您必须从一开始就将服务设计为RESTful.

SOAP通常使用的信息和方法-这样的东西GetCustomer,GetBalance等等.

另一方面,REST在资源中认为 - 您拥有Customer资源,并且HTTP GET在该资源上发布URI检索客户,a PUT将插入新客户,POST更新现有客户,以及DELETE(所有HTTP谓词)将删除您的客户.因此,在正确的REST中,您没有考虑方法和过程 - 您正在考虑如何公开资源并将这些资源提供给您的服务的使用者.