3

我们的网站是 asp.net web-forms 和 MVC 3 的混合体。该网站以 web-forms 开发,除了一个单独的 MVC 应用程序,它存储在网站根目录中的单独目录中并拥有自己的 web。配置。Web 表单页面 (aspx) 由 IIS 7 服务器正确提供,但 MVC url 返回404 - 找不到文件或目录。

例如,假设网站是www.abc.com,使用www.abc.com/aaa/controller/action访问 MVC 应用程序,其中aaa是 MVC 应用程序的根目录并包含其自己的 web.config。web-forms url(比如 www.abc.com/feedback.aspx)正在工作,但是 MVC URL(比如(www.abc.com/aaa/Controller/Action)正在返回 404。

我已从我的共享主机提供商处确认,该网站运行在.net 4 集成管道模式应用程序池上,因此默认情况下,无扩展 url 应由 IsapiModule 处理,无需任何额外配置。

我心中的一个疑问是 MVC 应用程序根文件夹(上面示例中的aaa)是否应该转换为单独的应用程序?

任何猜测,以解决上述 MVC url 问题?

4

2 回答 2

0

共享路由系统。您应该制作一个混合 WebApp,部分是 WebForm 和 MVC。我最近在这里做了类似的事情,其中是主要的应用程序,而 MVC 是嵌套的。在这种情况下,整个站点必须只有一个 global.asax 和一个 web.config。MVC 可以与 WebForm 位于同一目录中,但只能与它们共享内容。

我按照Scott Hanselman的指南完成了这项工作。

于 2013-07-31T14:12:33.990 回答
0

托管服务提供商使用WebsitePanel,通过它我能够为包含 MVC 应用程序的文件夹创建一个虚拟目录。MVC URL 现在被路由到 Isapi 处理程序,不再返回 404(找不到文件)。所以,我想我会在这里结束这个话题。

简而言之,为 MVC 应用程序创建一个虚拟目录解决了这个问题。

于 2013-07-31T15:01:16.517 回答