我在IIS 6.0上运行了一个网站(不是在Visual Studio中的Web应用程序,您可以获得两个选项 - 创建一个网站/项目)。现在我想在MVC架构中开发一些功能。 所以我在visual studio中创建了一个MVC应用程序,一切都在localhost上作为一个单独的应用程序正常工作。现在我想在我已部署的网站内托管这个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而不是路由,请忽略它 - IgnoreRoute不是System.Web.RoutingCollection *
的成员我在application_start函数中调用了这个路由函数 现在我运行domain.com/home/index
如何解决这个问题? 它说资源未找到
答案 0 :(得分:0)
这可能是您的子应用程序从父级继承配置的问题。在尝试将应用程序放在网站下时,我遇到了类似的问题。
您需要在<system.web>
标记中<location>
包裹inheritInChildApplications="false"
示例:
<location path="." inheritInChildApplications="false">
<system.web>
<!-- ... -->
</system.web>
</location>
Here你有更详细的解释。