3

我正在尝试在现有应用程序的子目录中部署 ASP.NET MVC 应用程序,但遇到了一些路由问题。我已经设置了文件夹结构,以便 MVC 应用程序的所有二进制文件和配置文件都正确位于根目录中,而其余内容则位于子目录中。此外,我更新了 MVC 应用程序中的所有路由以反映子目录;但是,对应用程序的每个请求都会产生:

传入请求不匹配任何路由。

所有定义的路由都被忽略,包括默认路由:

routes.MapRouteLowercase(
    "Main_Default",
    "blog/{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = "" }
);

我尝试启用RouteDebug来测试问题,但即使这样也没有被路由到。关于我还能尝试什么的任何建议?

注意:这个问题不是重复的。

4

2 回答 2

0

尝试将其作为虚拟目录运行,而不仅仅是一个目录,否则您的路由将不会被调用。您不需要将虚拟目录的名称放在路由中。

这是我在 v-dir MVC 应用程序中设置的路线,效果很好......

routes.MapRoute(
    "Default",                                              // Route name
    "{controller}/{action}/{id}",                           // URL with parameters
    new { controller = "Tour", action = "Index", id = "" }  // Parameter defaults
);
于 2010-01-20T19:55:39.027 回答
0

看来我发现了问题。

除了二进制文件和配置文件之外,Global.asax 还必须放在根目录中才能执行其代码。

多谢你们。:)

于 2010-01-20T20:17:11.143 回答