c# - 当我让我的 (ASMX) Web 服务接受/返回 JSON 而不是 XML 时,它是否不再被视为 SOAP?

标签 c# asp.net rest soap asmx

只是想了解一下 SOAP 与 REST。我们目前有一些 asmx Web 服务,主要在我们自己的 JavaScript 和服务器代码(不是公共(public) API)之间使用。当我将方法指定为 ScriptService 并指定 Json 的 ResponseFormat 时,它是否仍被视为 SOAP 服务?对我来说,它仍然感觉不够 RESTful,但这也许是因为我的“资源”的设计方式(没有很好/完全地由 REST 表示)。

编辑:阅读更多内容后,我可能会混淆格式(JSON 与 XML)与大多数 SOAP 协议(protocol) 描述都与 XML 相关的事实。例如,wikipedia状态:

It relies on Extensible Markup Language (XML) for its message format

对我来说,从逻辑上讲,如果我使用 JSON,我一定不能使用 SOAP。

最佳答案

这并不完全是您所要求的,但如果您从 JavaScript 调用 ASMX 服务并检索 JSON,则 ASMX 服务不是 RESTful。您必须向 ASMX 服务发出 POST 请求才能从中获取 JSON,即使该请求是幂等的并且仅检索数据。在 RESTful API 中,在这种情况下将使用 GET 请求,而不是 POST。

这并不是说缺乏 REST 性是私有(private) API 的实际问题。我发现 ASMX 服务作为 AJAX 回调的基于 JSON 的服务层在实践中效果很好。

关于c# - 当我让我的 (ASMX) Web 服务接受/返回 JSON 而不是 XML 时,它是否不再被视为 SOAP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5899632/

相关文章:

static string[] contains() (slooooow) 与 == 运算符的 C# 性能

jquery - 如何覆盖/扩展 javascript 处理程序?

c# - 如何在c#中动态添加文本到span控件

c# - 编写简单的 LINQ 查询

c# - 如何将 xml 从 c# 桌面应用程序发送到 php 服务器脚本并解析它?

c# - AutoMapper - 添加自定义格式化程序

c# - 如何通过 CREATE_CONTENT 权限过滤 Facebook 页面?

ios - 如何在 iOS 上高效地使用 REST API 的值对象

python - Django Rest Framework 中缺少 Auth Token 时如何返回 401

spring - 如何在 Spring Boot/Spring Security 中允许用户只访问他们自己的数据?