0

次のjsonがあるとします。

{
    "id": 8574,
    "data": {
        "name": "John",
        "age": 24,
        "description": "test",
        "anotherjson": { "fielda": "valuea", "fieldb": "valueb" }
    }
}

重要:データパラメータのフィールドがわかりません。

そして、私は次の方法を持っています:

public void Save(int id, object data) { ... }

jsonはjQuery.ajax()によってメソッドに送信されます。

このメソッドをasp.netWebサービス(.asmx)に配置すると、データパラメーターをDictionary [string、object]に変換できます。それは良いです。

ただし、このメソッドをWCFサービスに配置すると、データパラメーターは常に空になります。

私がしなければならないこと?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 に答える