asmx Web服务与REST兼容吗?

15

我想知道asmx文件是否与REST风格的请求兼容?

我有一些asmx文件需要为一些设置为发送REST请求而不是SOAP的第三方程序提供服务。

1个回答

18

首先,你不应该使用ASMX来开发新的服务:你应该使用WCF代替。使用WCF更容易让同一个服务处理SOAP和REST风格的终端点。

ASMX服务能够接近REST的程度是它可以配置为允许GET或POST请求,在这种情况下,它将返回纯XML,没有SOAP包装。

请参见配置选项

但是,如果你想从ASMX获取“真正的REST”,那么你就没那么幸运了。


这是一个现有的 Web 服务,而不是新的。我正在尝试找出是否可以利用它,或者是否需要创建一个新的(WCF)。 - chobo
请检查“配置选项”链接。您可能可以使用HttpGet或HttpPost。 - John Saunders
我不认为Get或Post会很好地工作。我需要一个通用的方法控制器,将请求传递给其他方法,或者类似于此的东西。因为我需要在请求中引用实际的方法名称,而这不是REST的工作方式。 - chobo
我不明白为什么你需要一个单一的控制器或任何东西。您可以直接使用GET或POST到正确的方法。REST并不意味着特定的URL结构,你知道的。 - John Saunders
1
但是,如果你想从 ASMX 中获得“真正的 REST”,那么你就没那么幸运了。事实上,你怎么能将当前的 RPC 风格服务转变为基于资源概念的服务呢? - John Saunders
我一开始就追求真正的REST :) 很高兴终于得到了明确的答案。您可以修改原始答案以包含您上面的评论,我会标记它。 - chobo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接