System.DateTime
入力パラメーターとして .NET 値を受け入れる次の JSON WCF サービスを作成しました。
[OperationContract]
[WebGet(ResponseFormat=WebMessageFormat.Json)]
ReclaimedH2OMetric GetCurrentReclaimedH2OMetric(System.DateTime currentDate);
Web ページで使用jQuery
してサービスを利用しようとすると、次のエラーが発生します。
サーバーでリクエストの処理中にエラーが発生しました。例外メッセージは「SqlDateTime オーバーフローです。1753 年 1 月 1 日午前 12:00:00 から 9999 年 12 月 31 日午後 11:59:59 の間でなければなりません。
ここに私のjQueryコードがあります:
var rawResults;
var currentDate = new Date('10/1/2012');
var jsonDate = '\\/Date(' + currentDate.getTime() + ')\\/';
$.ajax(
{
async: false,
type: "GET",
contentType: "application/json; charset=utf-8",
url: "http://www.mydomain.com/Dashboard_WaterResources/WCFService/Dashboard.svc/GetCurrentReclaimedH2OMetric",
dataType: "json",
data: '{"currentDate": "' + jsonDate + '"}',
success: function (results) {
rawResults = results;
},
error: function (xhr) {
alert(xhr.responseText);
}
});
次のコード行は、この質問を参照としてvar jsonDate = '\\/Date(' + currentDate.getTime() + ')\\/';
使用して、適切な JSON 形式で日付をフォーマットしようとしていました。