私は、RequestFormatとResponseFormatとしてJSONを使用している実用的なWCFサービスを持っています。WCF DataMember DateTimeシリアライズフォーマット
[ServiceContract]
public interface IServiceJSON
{
[OperationContract]
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
MyClassA echo(MyClassA oMyObject);
}
[DataContract]
public class MyClassA
{
[DataMember]
public string message;
[DataMember]
public List<MyClassB> myList;
public MyClassA()
{
myList = new List<MyClassB>();
}
}
[DataContract]
public class MyClassB
{
[DataMember]
public int myInt;
[DataMember]
public double myDouble;
[DataMember]
public bool myBool;
[DataMember]
public DateTime myDateTime;
}
MyClassBクラスのmyDateTimeプロパティは、DateTime型です。これは次の形式にシリアル化されています。 "myDateTime": "/ Date(1329919837509 + 0100)/"
私はこの形式を扱うことができません。 yyyy-MM-dd hh:mm:ss
DataMember属性にこれを追加できますか?ように:
[DataMember format = “yyyy-MM-dd hh:mm:ss”]
public DateTime myDateTime;
ありがとうございます!
解決策を見つけましたか?私がそれをした唯一の方法は、kludgeの回避策でした、http://stackoverflow.com/questions/25894068/change-the-json-datetime-serialization-in-wcf-4-0-rest-service – bpeikes
以下のtadで説明されている回避策は、あなたが参照しているのと同じものになります。文字列型の追加のdatamemberを追加します。たぶん、あなたはお父さんの答えを編集し、あなたの例を追加して完成させるべきでしょう。 – Brabbeldas
ええと、私はWCFとシリアライゼーションのためのMS参照コードを見てきました。それは読めません。彼らがWCFの上でRESTをダンプしたように見えるのは不思議ではありません。 – bpeikes