2011-06-23 6 views
3

ASP.NET Webメソッドは、オブジェクトの[DataContract]および[DataMember]属性を無視するので、JavaScriptSerializerを使用しているようです。DataContractJsonSerializerを使用するWebMethodsを構成する方法

私はこのようになりますオブジェクトがあります。

[DataContract] 
public class MyObject 
{ 
    [DataMember("firstField")] 
    public string FirstField { get; set; } 
    [DataMember("secondField")] 
    public string SecondField { get; set; } 
} 

を私のWebメソッドは次のようになります。とりわけ

[WebMethod] 
public static IEnumerable<MyObject> GetData() { ... } 

、私はJSONのプロパティ名がfirstFieldとして出て来てほしいですではなく、FirstFieldです。

WebMethodsがDataContractJsonSerializerを使用してDataMemberアノテーションを尊重するように設定する方法はありますか?

答えて

4

[WebMethod]のいずれも、Data Contractシリアライザは完全に無関係な技術であり、混在することはできません。 DataContractJsonSerializerを使用する場合は、[WebMethod]で使用される古いASMXテクノロジではなく、WCFを使用する必要があります。

関連する問題