Я использую Context.RewritePath() в приложении ASP.NET 3.5, работающем на IIS7.
Я делаю это в приложении BeginRequest, и все работает с файлом.
Запросы на/спорт правильно переписаны по умолчанию .aspx? id = 1 и т.д.
Проблема в том, что в моем журнале IIS я вижу запросы GET для /Default.aspx?id=1, а не для /sports.
Этот тип кода отлично работал под IIS6.
Использование Microsoft Rewrite не является вариантом, из-за некоторой бизнес-логики, которая должна быть реализована.
Спасибо.
ИЗМЕНИТЬ:
Кажется, что мой обработчик слишком рано в конвейере, но если я переведу логику на более поздний случай, чем вся переписывающая вещь не работает (слишком поздно, StaticFileHandler берет мой запрос).
Я googled и googled, спросил вокруг, не могу поверить, что никто не имеет этой проблемы?
EDIT:
Хлоп! Вот что я нашел на форуме IIS:
"Это связано с тем, что в интегрированном режиме IIS и asp.net совместно используют общий конвейер, а RewritePath теперь рассматривается IIS, а в IIS6 его даже не видел IIS - вы можете обойти это, используя классический режим, который будет вести себя как IIS6."
Окончательное обновление. Пожалуйста, посмотрите мой ответ ниже, я обновил его с результатами после более чем года производства окружающая среда.