我正在尝试在现有应用程序的子目录中部署ASP.NET MVC应用程序,但我遇到了一些路由问题。我已经设置了文件夹结构,以便MVC应用程序的所有二进制文件和配置文件都正确地位于根目录中,而其余内容位于子目录中。另外,我更新了MVC应用程序中的所有路由以反映子目录;但是,每个请求都会产生:
传入的请求不匹配 任何路线。
忽略所有已定义的路由,包括默认路由:
routes.MapRouteLowercase(
"Main_Default",
"blog/{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
我尝试启用RouteDebug来测试问题,但即使这样也没有路由到。关于我还能尝试什么的任何建议?
注意:此问题不 a duplicate。
答案 0 :(得分:0)
尝试将其作为虚拟目录而不仅仅是目录运行,否则不会调用您的路由。您不需要将虚拟目录的名称放在路由中。
这是我在v-dir MVC应用程序中设置的路线,工作得很好......
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Tour", action = "Index", id = "" } // Parameter defaults
);
答案 1 :(得分:0)
看起来我发现了问题。
除了二进制文件和配置文件之外,还必须将Global.asax放在根目录中,以便执行其代码。
谢谢你们。 :)