В настоящее время я делаю следующее для отправки сообщений об ошибках клиенту:Web API бросить пользовательских исключений обратно клиенту
HttpResponseMessage message = new HttpResponseMessage(HttpStatusCode.Forbidden)
{
ReasonPhrase = "No rights to access this resource",
};
throw new HttpResponseException(message);
Однако я хотел бы дополнительно улучшить ответ, посылая обратно пользовательские исключения , Так что я могу иметь что-то вроде этого:
public class MyAppException : Exception {}
public class NoRightsException : MyAppException {}
public class SaveException : MyAppException {}
//etc...
Все мои исключения будут находиться в отдельной сборке, которая будет ссылка на сервере и на клиенте.
Как лучше всего вернуть эти исключения клиенту и как клиент должен будет проверить, является ли ответ моим настраиваемым исключением, другим исключением или просто текстовым сообщением?
Это может помочь вам прочитать здесь HTTP: //stackoverflow.com/questions/10732644/best-practice-to-return-errors-in-asp-net-web-api Особенно пример, где он объяснил, используется метод Request.CreateResponse –