0

假设我有以下 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) 中,我可以将数据参数转换为 Dictionary[string, object]。很好。

但是如果我将此方法放在 WCF 服务中,则 data 参数始终为空。

我必须做什么?我在 WCF 中需要与 .asmx 文件中相同的行为。

4

1 回答 1

0

您是否在 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
  {....}
于 2012-09-12T12:55:53.450 回答