Если вы не можете включить сопоставление с подстановочными знаками для IIS (общий хостинг) или не можете быть обеспокоены (ленивость), вы все равно можете использовать маршрутизацию ASP.Net, если ваши маршруты заканчиваются одним из «известных» расширений asp.net .like завершение всех маршрутов с помощью .ashx, .aspx и т. д.
Из блога Криса Кавены , могут ли его примеры:
var routeHandler = new WebFormRouteHandler<Page>( "~/MyPage.aspx" );
routes.Add( new Route( "{page}", routeHandler ) );
routes.Add( new Route( "AccountServices/{page}", routeHandler ) );
routes.Add( new Route( "Default.aspx", routeHandler ) );
сделать без подстановочных знаков, как это:
var routeHandler = new WebFormRouteHandler<Page>( "~/MyPage.aspx" );
routes.Add( new Route( "{page}/view.ashx", routeHandler ) );
routes.Add( new Route( "AccountServices/{page}/view.aspx", routeHandler ) );
routes.Add( new Route( "Default.aspx", routeHandler ) );
Я предполагаю, что его последний маршрут - Default.aspx, но он не включил в него никаких данных о маршруте ... Есть ли лучший способ? При условии, что это работает, выглядит наилучшей идеей, как будто приложение перемещено или может быть включено сопоставление с подстановочными знаками, необходимо изменить только маршруты ...