2

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

日期在传递时已正确进行 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

2 回答 2

7

如果您必须将日期时间作为字符串传递,请尝试以明确的格式传递它们。我假设您要通过 2012 年 2 月 24 日 17:13:02 - 类似以下内容是明确的:

2012-02-24T17:13:02

例如,如果您在 .NET 中格式化日期,请使用“o”或“s”


这与 URL 编码无关- 它与明确传递数据有关 - 诸如 01/02/2012 之类的日期至少可以解释为两种方式 - 今年 2 月 1 日或 1 月 2 日,有两种。

于 2012-02-25T19:32:13.120 回答
0

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

于 2012-02-25T19:28:16.830 回答