如果您不能为IIS(共享主机)打开通配符映射,或者不介意(懒散),那么如果您的路由以一个“已知”的ASP.Net扩展结束,您是否仍然可以使用ASP.Net路由…例如以.ashx、.aspx等结束所有路由?
从
Chris Cavenagh's blog
他的例子是:
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,但他没有包含任何路由数据…有更好的方法吗?如果这样做有效的话,最好的办法就是移动应用程序或者打开通配符映射,只需要更改路由。。。