我已经阅读了所有这些关于如何使 system.web.routing 工作的文章,但所有这些文章都在 localhost:port 上进行了解释。我可以在本地机器上让它工作,但是一旦我将网站上传到服务器上,无论我做什么,路由都会停止工作。
首先,我尝试不使用任何扩展名(.aspx),但经过所有努力,我放弃并添加了扩展名,但它仍然无法在服务器上运行。
任何帮助表示赞赏。
样本:
在global.ascx
Route test = new Route("home.aspx", new TestRoutingHandler());
Routes.Add(test);
在路由处理程序中
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
string virtualPath = string.Empty;
Route route = (Route)requestContext.RouteData.Route;
virtualPath = "~/Default.aspx";
return (Page)BuildManager.CreateInstanceFromVirtualPath(virtualPath, typeof(Page));
}
在 httpModules 下的 web.config
add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
这非常简单,可以在本地机器上运行,但不能在 Web 服务器上运行。