Я создал службу REST, использующую WCF для связи с BLL / DAL из пользовательского интерфейса.Теперь я хотел бы реализовать обработку исключений с помощью некоторого способа глобализации в REST.Я использую HTTPClient для связи с REST от клиента.Ниже приведены способы, которыми я реализовал обработку исключений:
Подход 1:
OutgoingWebResponseContext response = WebOperationContext.Current.OutgoingResponse;
response.StatusCode = System.Net.HttpStatusCode.Unauthorized;
response.StatusDescription = ex.Message;
success = false;
Подход 2:
throw new WebProtocolException(HttpStatusCode.NotFound, ex.Message, null);
но почему-то я не могу пойматьих на стороне клиента.Пожалуйста, предложите несколько указателей для обработки исключений, вызванных сервисом в глобальном масштабе.
Я выкидываю WebProtocolException (подход 2) вместе с кодом ошибки и сообщением об ошибке из сервиса в пользовательский интерфейс, чтобы уведомить пользователей оисключение.Я могу получить код ошибки на стороне пользовательского интерфейса, но не получаю сообщение об ошибке или подробности.
Затем я создал другой сервис (с расширением .svc) и добавил следующую строку в разметку сервиса: "Factory = 'Microsoft.ServiceModel.Web.WebServiceHost2Factory».Теперь я могу получить сообщение об ошибке вместе с кодом ошибки на стороне клиента (UI).
Может кто-нибудь дать мне знать, как использовать метод WebServiceHost2Factory в моей существующей службе, которая является файлом класса, а не файлом .svc?
Любые предложения будут высоко оценены.Спасибо