使用ASP.NET 4 Web表单的URL路由
我在本地有ASP.NET webFroms应用程序,当我尝试使用以下路由时,我得到404未找到错误。我正在尝试访问mylocalsite.com/home,它应该会解析为~/Default.aspx,会出现什么问题?我确实尝试了很多方法,并遵循了MSDN的帮助,但无法使其工作,以便我可以创建我需要的路由。该网站正在IIS7上运行 以下代码位于my Global.asax中使用ASP.NET 4 Web表单的URL路由,asp.net,asp.net-routing,Asp.net,Asp.net Routing,我在本地有ASP.NET webFroms应用程序,当我尝试使用以下路由时,我得到404未找到错误。我正在尝试访问mylocalsite.com/home,它应该会解析为~/Default.aspx,会出现什么问题?我确实尝试了很多方法,并遵循了MSDN的帮助,但无法使其工作,以便我可以创建我需要的路由。该网站正在IIS7上运行 以下代码位于my Global.asax中 public static void RegisterRoutes(RouteCollection routes)
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute("homepage", "/home", "~/Default.aspx");
}
protected void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
路由不能以
/
开头。尝试:
routes.MapPageRoute("homepage", "home", "~/Default.aspx");
另外,请确保您的应用程序池已配置为在IIS 7.0中以集成管道模式运行,以使诸如
/home
之类的无扩展URL正常工作。MapPageRoute方法的第二个参数是路由的URL模式,即在服务器/应用程序名称后看到的路径,您不应指定“/”为了它 感谢您的帮助,我终于找到了我的确切问题所在,您可以在下面的链接中看到,我的主要问题是windows功能-->万维网服务-->通用HTTP功能-->HTTP重定向中未启用HTTP重定向功能
修复的完整步骤:
我尝试过不使用/,但仍然存在相同的问题,您能告诉我如何在IIS 7中配置集成管道模式吗?因为我做了一些搜索,找到了很多配置方法,所以不确定你到底是指哪一种?@NazoTajrian,看看这里:嘿,Darin,是的,我想这是我的问题之一,我的应用程序处于经典管道模式,但当我切换到集成时,我收到一个错误:HTTP错误500.22-内部服务器错误检测到ASP.NET设置不适用于集成托管管道模式。我认为这个问题可能与web.config有关?我目前正在搜索这个错误500.22,但同时,如果你知道任何关于这一点,你能告诉我吗?或者有任何关于如何修复以在集成模式下运行的建议?@NazoTajrian,错误指的是哪个设置?请注意,在集成管道模式下,您无法访问应用程序\u Start方法中的HttpContext,因此任何访问其某些属性的尝试都可能失败。您好,是的,这是我的应用程序\u Start中的问题,但如果有,应用程序\u Start的替代方案是什么?我刚从应用程序启动的文件夹中加载了一些文件