ASP.NET WebService: не жалуйтесь на формат даты - PullRequest
0 голосов
/ 21 октября 2010

Одно из полей в моем методе веб-службы принимает значение DateTime.Когда-то пользователь сервиса предоставил значение в неправильном формате: «31-10-2010» (или, возможно, это было «31-10-10», если честно: я не уверен, что сейчас ведется логирование).Это «дд-мм-гггг» вместо «стандартное время XML-даты» «гггг-мм-ддТЧ: ММ: СС».

Проблема в том, что вместо отклонения такой даты как «неправильной» (или неверной)веб-служба успешно проанализировала эту строку как допустимую дату, она была проанализирована как «31 января 2011 г., 00:10».

Вопрос 1. Почему дата вообще анализируется?

Вопрос2. Как это предотвратить?

PS Я внедрил бизнес-логику, которая проверяет дату, чтобы быть в некотором значимом диапазоне (не более 10 лет), но это не всегда помогает ...

1 Ответ

0 голосов
/ 21 октября 2010

XML имеет четко определенный формат для даты и времени. У клиента нет оправдания отправлять дату в другом формате.

  1. Если дата не была проанализирована, то что будет передано службе?
  2. Я тебе не верю. Я никогда не видел, чтобы у службы ASMX было чувство юмора относительно форматов даты и времени. Пожалуйста, опубликуйте код, который воспроизводит проблему.
...