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

WebMethod的回复是JSON。我一直认为WebMethods返回SOAP响应,但是,如果我正确解释了此代码(如我所说),则WebMethod将返回JSON。

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

我只使用过WebMethods for .NET到.NET的通信,该通信已采用SOAP,并且始终根据指定所需的请求查询字符串参数编写自定义代码以正确的格式(SOAP,JSON或XML)进行响应格式。我一直认为这种元格式功能需要WCF。

最佳答案

它是ASP.NET AJAX的一部分。参见例如Using Web Services in ASP.NET AJAX
AJAX客户端体系结构的一部分如下所示:

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

10-08 13:19
查看更多