В своем исследовании я нашел 2 способа сделать это.
Оба требовали модификации процедуры Application_BeginRequest в Global.Asax, где вы выполняли свой код для сопоставления фактического URL (у меня был просмотр базы данных, который содержал все понятные URL и их сопоставленные «реальные» URL). Теперь хитрость заключается в том, чтобы ваши запросы выполнялись через ядро .NET без расширения aspx. 2 способа, которые я нашел:
Запустите все через ядро .NET с сопоставлением расширений приложений с подстановочными знаками.
Создайте пользовательскую страницу ошибки aspx и скажите IIS отправить 404 на нее.
Теперь вот мой вопрос:
Есть ли причина, по которой один из них лучше делать, чем другой?
Во время игры на моем dev-сервере первое, что я заметил в # 1, было то, что он испортил расширения главной страницы, не так уж и много, но именно так я привык подключаться к своим сайтам. Еще одна проблема, с которой я столкнулся в # 1, заключается в том, что, несмотря на то, что моя хостинговая компания проявляет снисходительность по отношению ко мне (поскольку я являюсь их крупнейшим клиентом) и будет рассматривать такие действия, они опасаются любых угроз безопасности, которые могут возникнуть.
`# 2 прекрасно работает, но у меня просто такое чувство, что оно не так эффективно, как # 1. Я просто бреду?
Спасибо