Ошибка передачи данных DateTime в качестве параметра QueryString для Servicestack.net Получить метод
-
12-11-2019 - |
Вопрос
Я пытаюсь пройти объект dateTime в качестве параметра строки запроса на метод Websivice, построенный с Servicestack.net.
Дата правильно закодирована URL при прохождении, но я продолжаю получать следующую ошибку:
"Message":"KeyValueDataContractDeserializer: Error converting to type: String was not recognized as a valid DateTime.
.
Любые идеи того, как исправить это?
Вот пример URL-адреса DateTime I прошел: 2% 2F24% 2F2012 + 5% 3A13% 3A02 + PM
Решение
Если вы имеют пропустить datetimes как строки, попробуйте пропустить их в однозначном формате.Я предполагаю, что вы связываете 24 февраля 2012 года, 17:13:02 - что-то вроде следующее было бы однозначным:
.
2012-02-24T17:13:02
e.g.Если вы Форматирование Дата в .NET, используйте "O"или «S»
Это ничем делать с кодировкой URL-адреса - это делать с прохождением данных однозначно - даты, такие как 01/02/2012, могут быть интерпретированы как минимум двумя способами - 1 февраля или 2 января этогогод, на двоих.
Другие советы
Вы смотрели на отсутствие веб-сайта, принять строковый параметр, а затем с помощью datetime.parse или datetime.triparse для преобразования строки в dateTime?