2011-11-22 79 views
0

如何强制asp.net mvc应用程序指向子文件夹而不是根文件夹。asp.net mvc - 嵌套站点部署

可以说我有网站名为:http://mywebsite

我有完全不同的asp.net的MVC应用程序调用UserApp和CustomerApp。他们之间没有共同之处。现在,我要部署的应用程序,如:

  1. http://mywebsite/UserApp/SomeController/SomeAction
  2. http://mywebsite/CustomerApp/SomeController/SomeAction

我上面部署方式的应用。但是,部署之后,只有主页可以工作。任何其他嵌套的控制器/操作仍然指向根路径而不是特定的路径。

回答

0

您可能需要在IIS中将两个子文件夹都设置为应用程序。

+0

请问您可以提供链接或更多的指导吗? – StartingFromScratch

+0

http://mvolo.com/blogs/serverside/archive/2007/07/12/Creating-IIS7-sites_2C00_-applications_2C00_-and-virtual-directories.aspx – SLaks

+0

http://www.bloggingdeveloper.com/post/Creating -IIS7站点的应用程序和虚拟的目录,使用互联网,信息,服务,Manager.aspx – SLaks

0

来自Slaks的答案是不够的,因为默认的MVC路由是来自Web根目录的“/ controller/action”。

您可以使用IIS路由模块重写路径,以便http://yourWebSite/UserApp/SomeController/SomeAction重新编译为http://yourWebSite:8080/SomeController/SomeAction,并在内部的不同端口上设置2个网站。

或者您可以修改mvc路由映射。它可以工作,...或不。在MSDN中搜索“MapRoute”。

或者您可以使用2个不同的主机创建2个网站。
这对于2个不相关的网站来说并不罕见:=)