在Webforms网站下路由不适用于MVC应用程序?

时间:2016-02-15 00:57:47

标签: asp.net-mvc webforms asp.net-mvc-routing virtual-directory

我正在MVC中创建一个我希望在多个网站中使用的报表应用程序。我希望能够在每个消费网站下的IIS中创建一个应用程序,并将它们指向报告应用程序所在的同一目录。

当我在MVC网站上尝试这样做时,它运行良好。但是,当我尝试在Webforms网站下添加此应用程序时,我收到了“403.14 - Forbidden”错误,因为它正在尝试使用静态文件处理程序。

如何更正它以使用正确的处理程序路由到Home控制器?

1 个答案:

答案 0 :(得分:0)

问题是基础网站的应用程序池使用的是2.0 clr。一旦我意识到这一点,我做了必要的web.config调整,并重新编译应用程序以在4.0 clr下运行,然后一切正常。

我还有一堆<location path="." inheritInChildApplications="false">部分。不确定现在是否有必要,但我离开它们因为它有效并且子应用程序不需要从基础网站继承任何东西。

这篇文章(Expression of type 'System.Web.Mvc.MvcWebRazorHostFactory' cannot be used for return type 'System.Web.WebPages.Razor.WebRazorHostFactory')也帮助我尝试在从2.0转换为4.0时将web.config内容整理出来。这有点痛苦,因为我必须解决几个错误,但我想我大多只需要删除不再需要的web.config的某些部分(因为它们现在包含在机器配置中)