Как перехватить разбор WCF JSON для почтового запроса - PullRequest
1 голос
/ 01 марта 2011

У меня есть веб-сервис WCF, который использует формат JSON, моя проблема с полями даты, когда я пытаюсь опубликовать дату в своем сервисе, я не могу найти какой-либо другой формат, кроме "/ Date (53244000000) /«где число - это количество миллисекунд с полуночи 1970 года.

Мой менеджер проектов не принимает этот формат, и он хочет, чтобы я мог публиковать даты для своего сервиса в формате ISO-8601,или любой другой читаемый формат.

Я много искал и не нашел другого формата для публикации в сервисе, поэтому я подумал в разделе «Перехват JSON-разбора WCF и анализ даты» (я нене знаю, возможно ли это или нет).

Итак, есть ли какие-либо предложения по решению этой проблемы с датой?

1 Ответ

1 голос
/ 01 марта 2011

используйте строковое свойство для вашего json datacontract и выполните синтаксический анализ ISO-8601 в реализации в качестве проверки.

public class MyService
{

  public void MyDate(string isodate)
  {
     DateTime realdate;
     if (!DateTime.TryParseExact(isodate, 
          "YYYY-MM-DD", 
          new CultureInfo("en-US"),
          DateTimeStyle.None, 
          out realdate))
     {
        throw new ArgumentException("not in correct format", "isodate");
     }

  }
}
...