3
DateTime을 매개 변수로 사용하는 웹 서비스가 있습니다. 사용자가 올바른 형식이 아닌 값을 전달하면 .NET은 예외가 발생하기 전에 서비스 기능에 들어가기 때문에 클라이언트에 대해 좋은 XML 오류 응답을 형식화 할 수 없습니다. 예를 들어WCF REST 서비스의 매개 변수로 DateTime
:
지금 (난 강력하게 싫어한다)의 주위에[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);
}
내가 여기에 놓친 거지 뭔가가 있나요? 이 일을하는 더 깨끗한 방법이 있어야 할 것 같습니다.
나는 빈'catch'를 사용하지 않을 것입니다. 날짜 형식이 유효하지 않음을 나타내는 예외 만 잡으십시오. –