我最近看到一个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。
答案 0 :(得分:1)
它是ASP.NET AJAX
的一部分。请参阅示例Using Web Services in ASP.NET AJAX。
AJAX客户端架构的一部分是这样的:
使用HTTP POST动词调用Web服务。 POST请求的主体包含浏览器发送给服务器的数据。它没有尺寸限制。因此,当数据大小超过GET请求的内在大小限制时,您可以使用POST请求。客户端将请求序列化为 JSON 格式,并将其作为POST数据发送到服务器。服务器将 JSON 数据反序列化为.NET Framework类型,并进行实际的Web服务调用。在响应期间,服务器序列化返回值并将它们传递回客户端,客户端将它们反序列化为JavaScript对象以进行处理。