IIS 7.5 обрабатывает 500 ошибок иначе, чем IIS 6.0 - PullRequest
1 голос
/ 02 апреля 2012

Наше приложение Classic ASP содержит веб-сервис, который можно вызвать через HTTP.ПОСТ или ПОЛУЧИТЬ.Веб-служба выполняет свою функцию и затем записывает, используя Response.Write, XML-сообщение через HTTP.

Вот пример.

Response.ContentType = "text/xml"
Response.Status      = "500 Error"
Response.Write("<?xml version=""1.0"" ?>")
Response.Write("<PeelMe>")
Response.Write("<Error>Your orange was actually blue!</Error>")
Response.Write("</PeelMe>")

Когда приложение размещалось в IIS 6.0вызывающая сторона получила XML и смогла разобрать его очень хорошо.

Затем мы переключились на IIS 7.5.

Как и в IIS 6.0, мы настроили страницу ошибок клиента, давайте вызовемэто "Blah.asp", чтобы отобразить определенный пользовательский текст в браузере, когда произошла ошибка, когда реальный пользователь просматривал сайт.Когда мы переключились на IIS 7.5, все 500 сообщений об ошибках, записанных для вызывающей стороны веб-службы, теперь перехватывались IIS 7.5, перенаправляя поток в Blah.asp и впоследствии записывая HTML-код Blah.asp обратно вызывающей стороне.

Вот мой вопрос:

Как заставить IIS 7.5 работать как IIS 6.0, чтобы, когда я хочу записать сообщение об ошибке 500 обратно вызывающей стороне веб-службы, я мог сделать это без IISПользовательская обработка ошибок 7,5 мешает?

Ответы [ 2 ]

0 голосов
/ 03 апреля 2012

Начиная с IIS7, web.config предлагает больше опций. Вы можете попробовать следующее, чтобы получить нужную информацию:

<system.webServer>
    <httpErrors errorMode="Detailed">
        <remove statusCode="500" subStatusCode="-1" />
        <error statusCode="500" prefixLanguageFilePath="" path="/[CUSTOMERRORPAGE].asp" responseMode="ExecuteURL" />
    </httpErrors>
</system.webServer>
0 голосов
/ 03 апреля 2012

Вы пытались настроить пул приложений для asp classic? В последнее время мы делаем много обновлений; постоянно сталкиваюсь с проблемами с 7.5.

Восстановление пула приложений, возможно, решает 80% наших проблем.

...