我最近看到一个jQuery示例,其中POST为“Default.aspx / Test”,其中Test是Default.aspx中的WebMethod,请求的内容类型是“application / json”。

WebMethod的回复是JSON。我一直认为WebMethods返回了SOAP响应,但如果我正确解释这段代码,就像我说的那样,WebMethod会返回JSON。

这是对的吗? WebMethods是否以请求内容类型的格式返回响应?从什么时候开始有可能?总是?或者这是因为我安装了ASP.NET AJAX?如果是这样,我可以反汇编哪些命名空间以查看其工作原理?

我只使用WebMethods进行.NET到.NET通信,它已经在SOAP中,并且总是编写自定义代码,以基于请求查询字符串参数以正确的格式(SOAP,JSON或XML)进行响应指定所需的格式。我一直认为这种元格式功能需要WCF。

有帮助吗?

解决方案

它是 ASP.NET AJAX 的一部分。例如,请参阅在ASP.NET AJAX中使用Web服务。 AJAX客户端架构的一部分是这样的:

  

使用HTTP POST动词调用Web服务。 POST请求的主体包含浏览器发送给服务器的数据。它没有尺寸限制。因此,当数据大小超过GET请求的内在大小限制时,您可以使用POST请求。客户端将请求序列化为 JSON 格式,并将其作为POST数据发送到服务器。服务器将 JSON 数据反序列化为.NET Framework类型,并进行实际的Web服务调用。在响应期间,服务器序列化返回值并将它们传递回客户端,客户端将它们反序列化为JavaScript对象以进行处理。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top