Я делаю некоторую работу с Web.Routing, используя его, чтобы иметь дружественные URL-адреса и приятные Rest как интерфейсы к сайту, который по существу представляет собой один IHttpHandler. Нет никаких веб-форм, обработчик генерирует все html/json и записывает их как часть запроса процесса.Web.Routing для сайта root или домашней страницы
Это хорошо работает для таких вещей, как/Сайты/Учет, например, но я не могу заставить его работать для корня сайта, т. Е. '/'.
Я попытался зарегистрировать маршрут с пустой строкой, с 'default.aspx' (который является пустым файлом aspx, который я держу в своей корневой папке, чтобы играть хорошо с cassini и iis). Я устанавливал RouteExistingFiles явно как false, но независимо от того, что я делаю при ударе по корневому URL-адресу, он по-прежнему открывает default.axpx, у которого нет кода, на который он наследуется, и содержит простой тег h1, чтобы показать, что я ударил его.
Я не хочу менять файл по умолчанию для перенаправления на нужный маршрут, я просто хочу, чтобы эквивалент маршрута «по умолчанию» применялся, когда не найдены другие маршруты, похожие на MVC.
Для справки, предыдущая версия сайта не использовала Web.Routing, но имела обработчик, на который ссылается в файле web.config, который отлично перехватывал запросы для root или default.aspx.
Характеристики: ASP.NET 3.5sp1, C#, без веб-форм, MVC или openrasta. Обычные старые IHttpHandlers.
btw, это, по-видимому, исправлено для .Net 4/VS2010/2012 – Earlz