我正在尝试创建一个MVC应用程序作为我的标准Asp.Net Web应用程序的子应用程序.这两个项目都在同一个解决方案中.虽然父应用程序看起来很顺利,但我无法让子应用程序工作.在对我的两个web.configs进行一些按摩之后,我能够让Asp.Net运行时接受配置,但是我无法浏览到MVC应用程序中的任何页面/控制器,包括子的根-application(" http:// RootSite/SubApplicationName / ").我不断得到404.
实际上,当我转到网址" http:// RootSite/SubApplicationName/Home/Index / " 时,我确实收到了回复.它将我重定向到该文件夹中的index.aspx,并抛出此错误:
无法找到"索引"视图或其主页.搜索了以下位置:
〜/ Views/Home/Index.aspx
~/Views/Home/Index.ascx
~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx
IIS(7)中的子应用程序设置得非常简单:它设置为在与父应用程序相同的应用程序池中运行,后者在集成模式下运行Asp.Net 2.0.
我的怀疑是我在web.configs中有一些东西正在抛弃它.是否存在关于HTTPModules或URL授权模块等的事情,我应该确认这些事情不会妨碍MVC的发展?
另外,在global.asax.cs文件中,默认路由是否应该不同?默认情况下,传递给routes.MapRoute的url参数是:
"{controller}/{action}/{id}"
它应该在子应用程序的名称前面,如此吗?
"SubApplicationName/{controller}/{action}/{id}"
我尝试过这样的改变,但它并没有解决问题.
任何想法都非常感谢.此外,有关将MVC Web应用程序设置为子应用程序的一般信息也很棒.
谢谢.