Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 虚拟目录覆盖MVC路由_Asp.net Mvc_Iis 7.5 - Fatal编程技术网

Asp.net mvc 虚拟目录覆盖MVC路由

Asp.net mvc 虚拟目录覆盖MVC路由,asp.net-mvc,iis-7.5,Asp.net Mvc,Iis 7.5,我有一个web应用程序a,它有一个虚拟目录,也是一个应用程序B。我尝试在a中创建一个MVC路由,这样URL看起来在虚拟目录中,但仍然由a而不是B处理。但是,它似乎被忽略了。有没有办法让MVC路由优先于虚拟目录?那么你有两个应用程序a和B。你说你试图创建MVC路由,但在哪个应用程序中?如果你能多解释一点你想要达到的目标,那么回答起来就容易多了 ASP.net路由(也可以在web表单中提供)可以采用您想要的任何形式。有一件事你必须记住,路线图是贪婪的。所以,如果首先找到了最通用的路由,那么不管发生什

我有一个web应用程序a,它有一个虚拟目录,也是一个应用程序B。我尝试在a中创建一个MVC路由,这样URL看起来在虚拟目录中,但仍然由a而不是B处理。但是,它似乎被忽略了。有没有办法让MVC路由优先于虚拟目录?

那么你有两个应用程序a和B。你说你试图创建MVC路由,但在哪个应用程序中?如果你能多解释一点你想要达到的目标,那么回答起来就容易多了

ASP.net路由(也可以在web表单中提供)可以采用您想要的任何形式。有一件事你必须记住,路线图是贪婪的。所以,如果首先找到了最通用的路由,那么不管发生什么,它都不会检查下面的任何内容。所以顺序应该是最具体的,最后一个应该是最一般的

查看此帖子


希望这有帮助

如果你想让应用程序A覆盖应用程序B,你必须添加一些Url重写配置,而不是MVC路由逻辑,如果你使用的是IIS7+,我认为应该在应用程序A的web.config文件中设置。IIS必须知道将请求转发到哪个应用程序;在调用MVC路由时,应用程序已经在该点被选中(一旦调用了实际的应用程序,就不能取消选择B*)。你也可以在应用程序B中设置url重写规则指向应用程序A,但我不太确定这是怎么回事

请注意,我所说的应用程序调用很可能不是严格正确的。但老实说,我不知道我是否能完全准确地描述url重写请求的生命周期;我只是希望用简化的术语粗略地估计一下会发生什么。只需了解有关IIS和IIS7请求生命周期中url重写的更多信息,请访问以下链接:


我在问题中说明了路线所在的应用程序。;)