假设我有以下json:
{
"id": 8574,
"data": {
"name": "John",
"age": 24,
"description": "test",
"anotherjson": { "fielda": "valuea", "fieldb": "valueb" }
}
}
重要提示:我不知道data参数中的字段是什么。
我有以下方法:
public void Save(int id, object data) { ... }
json由jQuery.ajax()发送到方法。
如果我将此方法放在asp.net Web服务(.asmx)中,我可以将data参数转换为Dictionary [string,object]。这很好。
但是,如果我将此方法放在WCF服务中,则data参数始终为空。
我该怎么办?我在WCF中需要与.asmx文件中相同的行为。
答案 0 :(得分:0)
你是否在thr WCF方法中添加了以下属性?
[OperationContract]
[OperationContract]
[WebInvoke(Method = "POST",
BodyStyle = WebMessageBodyStyle.Wrapped,
ResponseFormat = WebMessageFormat.Json)]
public void Save(int id, object data) { ... }
以及具有以下属性的服务
[AspNetCompatibilityRequirements(RequirementsMode
= AspNetCompatibilityRequirementsMode.Allowed)]
public class Service : IService
{....}