У меня есть веб-сервис, который принимает DateTime в качестве параметра.Если пользователь передает значение, которое имеет неправильный формат, .NET выдает исключение до того, как оно перейдет в мою функцию Service, и поэтому я не могу отформатировать какой-нибудь приятный XML-ответ об ошибке для клиента.
Например:
[WebGet]
public IEnumerable<Statistics> GetStats(DateTime startDate)
{
//.NET throws exception before I get here
Statistician stats = new Statistician();
return ServiceHelper.WebServiceWrapper(startDate, stats.GetCompanyStatistics);
}
Моя работа сейчас (что мне очень не нравится):
[WebGet]
public IEnumerable<Statistics> GetStats(string startDate)
{
try
{
DateTime date = Convert.ToDateTime(startDat);
}
catch
{
throw new WebFaultException<Result>(new Result() { Title = "Error",
Description = "startDate is not of a valid Date format" },
System.Net.HttpStatusCode.BadRequest);
}
Statistician stats = new Statistician();
return ServiceHelper.WebServiceWrapper(startDate, stats.GetCompanyStatistics);
}
Есть ли что-то, что я здесь упускаю?Кажется, должен быть более чистый способ сделать это.