Global.asax не запускает ASPX-страницы в IIS7

Мы запустили службу перенаправления ссылок, которая может обрабатывать ссылки в разных форматах. Одним из таких форматов является добавление целевого URL в конец ссылки, например

Http: //url.fwd/abcd/http: //www.mydomain.com/page.aspx

Последние два года это работало над Windows Server 2003 / IIS6, но сейчас мы пытаемся перейти к настройке Windows Server 2008 / IIS7, и она больше не работает.

Я читал о проблеме с двоеточиями в URL, но это не влияет на страницы, не заканчивающиеся на «.aspx». Например,

Http: //url.fwd/abcd/http: //www.mydomain.com/page.php

перенаправил бы нормально.

Http: //url.fwd/abcd/http//www.mydomain.com/page.aspx

также отлично работает (обратите внимание на отсутствие второго двоеточия). Несмотря на неправильный URL-адрес, он обрабатывается нашей системой пересылки URL-адресов, которая использует пользовательскую страницу 404. В старой системе у нас была похожая проблема, поэтому в Global.asax> Application_Error был написан метод для обработки случая .aspx, и он работал нормально.

На нашем новом сервере ошибка Application_Error никогда не генерируется в Global.asax. Вместо этого я получаю исключение System.NotSupportedException - «Формат данного пути не поддерживается». Это исключение System.NotSupportedException является точным случаем, который мы обрабатываем на странице Global.asax, поэтому он определенно не запускается.

Я изменил ключи реестра, указанные в нескольких сообщениях на форуме: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ ASP.NET VerificationCompatibility = 1 HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ HTTP | Параметры AllowRestrictedChars = 1

Я попытался изменить настройки сопоставления обработчиков для ASPX.

Я попытался настроить пул приложений для использования классического режима вместо встроенного, но это вызывает совершенно другую ошибку, когда статический контент, такой как изображения и CSS, вообще не отображается. Я проверил, что статический контент включен в функциях Windows, и это так. В классическом режиме запрос «.aspx» выдает две ошибки Bad Request без какой-либо информации. Код страницы с ошибкой, которую я получаю буквально

Неверный запрос <html> <body> Неверный запрос </ body> </ html>

ОБНОВЛЕНИЕ: я изменил статическое сопоставление обработчика файлов на форму, найденную на этой страницеhttp://improve.dk/blog/2006/12/11/making-url-rewriting-on-iis7-work-like-iis6 Однако, как справедливо указывает автор, это взлом, а не правильный способ работы в IIS7. Он также исправляет проблему статического файла только в классическом режиме. Страницы «.aspx» по-прежнему выдают ошибку в классическом режиме.

Любые мысли или вклад будут с благодарностью на этом этапе.

Ответы на вопрос(2)

Ваш ответ на вопрос