试图找出为什么我不能使用jQuery与我的WCF服务交谈,我创建了一个名为Hello的无参数方法,它返回一个字符串“hi”。
WinForms测试客户端成功调用它,这是Fiddler捕获的请求:
POST http://wone.zapto.org/FX2/FxService.svc HTTP/1.1
Content-Type: text/xml; charset=utf-8
VsDebuggerCausalityData: uIDPowVZ+FU0+uNPsqYRI526N4sAAAAA8cdbBjT1DEK5yC+TNqcV7MkOd0n0tatAltu9uJjPIqUACQAA
SOAPAction: "http://tempuri.org/IFxService/Hello"
Host: wone.zapto.org
Content-Length: 130
Expect: 100-continue
Accept-Encoding: gzip, deflate
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><Hello xmlns="http://tempuri.org/"/></s:Body></s:Envelope>
这是XML,而不是JSON。响应也是XML并包含期望值“hi”。
这是服务接口方法声明:
[OperationContract]
[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json)]
string Hello();
继续我的结果显然不如何使该方法与jQuery ajax调用兼容。
如何执行以下操作之一?
我知道这可以做到;我们在上一份工作中做到了,但不幸的是我不能再简单地检查代码了。
我的WCF书说它应该是
[OperationContract, WebGet]
string Hello();
但是在重新编译和重新部署并重新测试之后没有任何变化,它仍然是XML。