2012-02-25 8 views
1

ServiceStack.netで構築されたWebサービスメソッドにクエリー文字列パラメータとしてDateTimeオブジェクトを渡そうとしました。渡されたときDatetimeをクエリースクリプトパラメータとしてServicestack.net GETメソッドに渡すエラー

日付が適切にURLエンコードされたが、私は次のエラー得続ける:これを修正する方法の

"Message":"KeyValueDataContractDeserializer: Error converting to type: String was not recognized as a valid DateTime. 

任意のアイデア?ここで

は、URLエンコードされたDateTimeの一例である私が渡した:2%2f24%の2f2012 + 5%3a13%3a02 + PM

答えて

4

があり、datetimesを文字列として渡す場合は、あいまいでない形式で渡してみてください。

例えば
2012-02-24T17:13:02 

:次のようなものがあいまいになる - 私はあなたが2012年2月24日、午後05時13分〇二秒を渡すために抱き合わせていると仮定しますあなたは.NETで日付formattingしている場合、「O」を使用または「S」


これは、URLエンコーディングを行うにはではありません - それは明確にデータを渡すことで行うことだ - など01 /などの日付02/2012は、少なくとも2つの方法で解釈することができます - 今年の2月1日または2月1日、2つ。

+0

これは良い解決策のようですが、URLがエンコードされている場合でも有効な日付を2012-02-24T17:13:02から解析できません – stephen776

0

あなたはwebsservice文字列parpmeterを受け入れ、その後のDateTimeを使用した見てきました。 ParseまたはDateTime.TryParseを使用して文字列をDateTimeに変換しますか?

関連する問題