WCF Web サービス ( Framework 4.0 ) で JSON を使用して ISO 日付形式をサポートする際に大きな問題が発生しました。私はたくさん試しましたが、まだ運がありません。
レストサービス :
[WebInvoke(Method = "PUT", UriTemplate = "/{mvnoid}/{OrderID}", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
public DataContracts.Feedback InsertOrder(string mvnoid,string OrderID,OrderRequest orderRequest)
{
OrderRequestManager orderProcessor = new OrderRequestManager();
DataContracts.Feedback feedback = orderProcessor.ProcessOrder(orderRequest);
return feedback;
}
これは私のオブジェクトです:
[DataContract(Namespace = NamespacesHelper.SCHEMA_NAMESPACE)]
public class OrderRequest
{
[DataMember(IsRequired = true, Order = 1)]
public string SystemId { get; set; }
[DataMember(IsRequired = true, Order = 2)]
public string OrderType { get; set; }
[DataMember(IsRequired = true, Order = 3)]
public DateTime OrderDate { get; set; }
[DataMember(IsRequired = true, Order = 4)]
public DateTime OrderScheduleDate { get; set; }
[DataMember(IsRequired = false, Order = 5)]
public int UserId { get; set; }
}
これは私のJSONペイロードです
{ "SystemId":"2", "OrderType":"TESTORDER", "OrderDate":"/Date(1255131630400)/", "OrderScheduleDate":"/Date(1255131630400)/", "UserId":150 } そしてこの「/Date(1255131630400)/」を ISO 形式「2012-10-30T15:00:00」にする必要があります。
私もこの解決策を試しました。カスタム JSON フォーマッタを作成します。 WCF REST サービス用の JSON.NET シリアライザー。しかし、どこにも HttpHostConfiguration クラスが見つかりませんでした。:(
助けてくれてありがとう。