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