2010-06-08 61 views
0

我有一个运行在IIS 6.0上的网站(不是一个web应用程序 - 在Visual Studio中,你有两个选项 - 创建一个网站/项目)。现在我想在MVC架构中开发一些功能。 因此,我在Visual Studio中创建了一个MVC应用程序,并且所有工作都在本地主机上正常工作,作为单独的应用程序。现在我想在我已经部署的网站中托管这个MVC应用程序。在一个网站内的主机MVC应用程序

我在IIS 6.0的默认网站里面创建了一个虚拟目录(MVCDir)。这是在根文件夹Global.asax文件我增加了路由功能 -

Shared Sub RegisterRoutes(ByVal routes As RouteCollection) 
    routes.Ignore("{resource}.axd/{*pathInfo}") 
    routes.Ignore("{resource}.aspx/{*pathInfo}") 



    routes.MapPageRoute("Default4", "{controller}/{action}/{id}", "~/MVCDir", False, New RouteValueDictionary(New With {.controller = "Home", .action = "Index", .id = Mvc.UrlParameter.Optional})) 

End Sub 

***注意 - 如果我写的,而不是路线routes.ignoreRoute,忽略它says- IgnoreRoute不是系统的成员。 Web.RoutingCollection *

当我运行domain.com/home/index

如何解决这个问题,我现在叫的Application_Start功能 这里面的路由功能? 它说没有找到资源

+0

哎呀,对不起,误解 - 您问的是将请求从一个IIS应用程序转发到另一个应用程序?然而,我关于通配符请求处理程序的观点是:确保已为根应用程序注册通配符请求处理程序,并且“检查文件存在”处于关闭状态。 – Rup 2010-06-08 11:39:15

+0

该怎么做? – Nishant 2010-06-10 08:04:49

回答

0

也许这是你的子应用程序继承父配置的问题。我尝试在网站下放置应用程序时遇到类似问题。

你需要换<system.web><location>标签与inheritInChildApplications="false"

例子:

<location path="." inheritInChildApplications="false"> 
    <system.web> 
    <!-- ... --> 
    </system.web> 
</location> 

Here你有更详细的解释。

相关问题