将Datetime作为查询字符串参数传递给Servicestack.net GET方法时出错

时间:2012-02-25 19:13:08

标签: c# asp.net .net asp.net-mvc servicestack

我尝试将DateTime对象作为查询字符串参数传递给使用ServiceStack.net构建的Web服务方法。

传递时日期是正确的URL编码,但我不断收到以下错误:

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

有关如何纠正此问题的任何想法?

以下是我传递的URL编码日期时间示例:2%2f24%2f2012 + 5%3a13%3a02 + PM

2 个答案:

答案 0 :(得分:6)

如果 将日期时间作为字符串传递,请尝试以明确的格式传递它们。我假设你想要通过2012年2月24日17:13:02 - 以下内容将毫不含糊:

2012-02-24T17:13:02

E.g。如果您在.NET中使用formatting日期,请使用" o"或" s"


与URL编码无关 - 它与明确传递数据有关 - 例如01/02/2012等日期至少可以通过两种方式解释 - 2月1日或今年1月2日,两人。

答案 1 :(得分:0)

您是否看过让websservice接受一个字符串参数,然后使用DateTime.Parse或DateTime.TryParse将字符串转换为DateTime?