ASP.NET WebForms Routing
Всем привет.
В проекте ASP.NET WebForms использую стандартный Routing. Определяю маршруты, указываю, на какие страницы они отражаются.
Например, в следующем примере задан маршрут, который при запросе URL вида http://мойсайт.ru/content за кулисами предаст управление странице Index.aspx, которая расположена в папке Contents.
private static void RegisterRoutes(RouteCollection route)
{
route.RouteExistingFiles = true;
route.MapPageRoute("MyRoute", "content",
"~/Contents/Index.aspx");
}
Собственно, все это хорошо работает, но не нравится то, что я могу обратиться к странице http://мойсайт.ru/contents/Index.aspx еще и напрямую, а не только через маршрут. Можно ли как-то отключить это, т.е. чтобы все обращение к страницам происходили через систему маршрутизации, а напрямую вызвать страницы было нельзя.
Обновление
Я думаю, через конфигурацию маршрутов такое не сделать, судя по моему опыту работы с маршрутами в MVC. В идеале я хочу добиться следующего. Например, пользователь напрямую запрашивает страницу http://мойсайт.ru/contents/Index.aspx, т.к. для данной страницы существует маршрут, то сервер переадресовывает (если здесь уместно данное слово) браузер пользователя на http://мойсайт.ru/content. И в итоге пользователь в адресной строке своего браузера видит уже http://мойсайт.ru/content, несмотря на то, что он запрашивал страницу напрямую. Думаю, идея ясна.