У меня есть страница, которая выполняет jQuery Ajax вызывает WebMethod на одной из моих ASPX-страниц. В некоторых случаях мой WebMethod генерирует исключение с сообщением об ошибке. Это сообщение об ошибке действительно важно для пользовательского интерфейса, потому что оно говорит, что сказать пользователю, поэтому он может исправить свою форму.Получение сообщения об ошибке из WebMethod при сохранении безопасности Web.Config
Это прекрасно работает в сфере охраны окружающей среды. Но, в моем производстве Web.Config, мне нужно сохранить customErrors, установленным на «On», поэтому я не буду показывать важную информацию. Более того, мой IIS также переопределяет ошибки HTTP 500.
Я попробовал WebServices от ASMX, и он отлично работал. IIS не перекрывал мой HTTP 500, и customErrors не скрывал сообщение, отправленное WebService. Но перенос всех моих WebMethodов ASPX в ASMX-файлы пока невозможен.
Я ищу руководство. Как мой пользовательский интерфейс может получить мои ошибки в WebMethod, сохраняя мой Web.Config безопасным для производства?
Вот что я, наконец, сделал. Но мне не нравится это решение, потому что serveur всегда отвечает Http 200, даже если есть ошибка. Знаете ли вы способ справиться с моими исключениями, используя http-стандарт? – NLemay
500 - это не лучший способ справиться с этим, используя стандарт HTTP, поскольку это означает внутреннюю ошибку. Если вы хотите обработать его стандартом HTTP, используйте спецификацию для каждого. Если ошибка исходит от клиента (т. Е. Вы отправляете данные с помощью jQuery, и эти данные недопустимы), используйте коды состояния 4XX. Исходя из этого, вы можете использовать неудачный обратный вызов из вызовов jQuery AJAX (см. [This] (http://api.jquery.com/jQuery.ajax/#example-3) для примера). Использование неудачного обратного вызова позволяет вам показывать сообщение, не отображая экран ошибки – CharlesAD
Тем не менее, хотя это хороший подход, это не так важно при использовании WebMethods, так как они не очень RESTful. Возможно, вы должны проверить веб-API ASP.NET, чтобы узнать, приспосабливаются ли они к вашей потребности (методы asmx/page стареют) – CharlesAD