У меня серьезные проблемы с запуском некоторых (написанных извне) ASP на IIS 7.5.
ASP настроен, и я включил сообщения об ошибках в двух местах, упомянутых в статьях, таких как http://weblogs.asp.net/nannettethacker/archive/2009/01/09/enables-asp-classic-error-messages-in-iis7-and-windows-web-server-2008.aspx, однако я не получаю правильных сообщений об ошибках.
Например, эта страница ASP работает должным образом (на экране отображается «привет, мир»):
hello
<%
Response.Write "world"
%>
Интересно, что если я вызываю ошибку компиляции, я получаю подробные ошибки:
hello
<%
Response.Write "world";
%>
Производит:
Microsoft VBScript compilation error '800a0401'
Expected end of statement
/test.asp, line 3
Response.Write "world";
----------------------^
Однако, если я изменю код так, чтобы он вызывал ошибку времени выполнения, он молча терпит неудачу:
hello
<%
Dim x: x = Int("hello world")
Response.Write "world"
%>
Это выведет:
hello
т.е. ни ошибки, ни "мира", ни ничего. Отслеживание запроса / ответа в Fiddler показывает, что на этом он просто остановился. Я не вижу ничего на сервере, на котором регистрируется ошибка.
Я долго рвал на этом волосы - просто не вижу, что проглатывает ошибку.
Я нашел причину проблемы. Если для параметра «Включить 32-разрядные приложения» в пуле приложений установлено значение «Истина», вы не получите ошибки времени выполнения. Установка значения False показывает ошибку времени выполнения.