我正在尝试编写一个 WCF 服务来响应 ajax 请求,但是当它尝试反序列化时我遇到了一个奇怪的错误。
这是jQuery:
$.ajax({
type: 'POST',
url: 'http://localhost:4385/Service.svc/MyMethod',
dataType: 'json',
contentType: 'application/json',
data: JSON.stringify({folder:"test", name:"test"})
});
这是 WCF 服务定义:
[OperationContract]
[WebInvoke(UriTemplate = "/MyMethod",
Method = "*", //Need to accept POST and OPTIONS
BodyStyle = WebMessageBodyStyle.WrappedRequest,
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json)]
string[] MyMethod(string folder, string name);
我得到一个SerializationException
说法:“OperationFormatter 无法反序列化 Message 中的任何信息,因为 Message 是空的 (IsEmpty = true)。”
它发生在System.ServiceModel.Dispatcher.PrimitiveOperationFormatter.DeserializeRequest
指令的方法中00000108 mov dword ptr [ebp-18h],0
我看不出我做错了什么,但它拒绝为我工作。整天都在和这个争吵。有任何想法吗?