【问题标题】:ASP.NET MVC 3 Areas working locally but not on server, returns 404ASP.NET MVC 3 区域在本地工作但不在服务器上,返回 404
【发布时间】:2012-01-03 22:15:47
【问题描述】:

SO 用户新年快乐!我有一个问题,希望有人可以帮助我。

让我来到这里的步骤:

一个 ASP.NET 网站被转换为一个 Web 应用程序(这个工作)。

然后通过 web.config 文件将 MVC 库添加到 Web 应用程序中。

手动添加了 MVC 控制器、视图和路由条目(这可行 - 能够看到默认的蓝页)。

然后我手动添加了一个 Areas 文件夹和支持文件夹/文件,包括 AreaRegistration 类(也手动添加)[注意:我必须手动添加 MVC 内容(如 Area),因为使用通常的右键单击上下文对话框不可用]

问题:

非区域控制器/视图和区域控制器/视图在我的本地 PC 上工作正常,但在服务器上返回 404 错误。为什么?我需要做些什么才能使其正常工作?

其他信息

本地 IIS 7.5 版

服务器 IIS 版本 = 7.5

【问题讨论】:

    标签: asp.net-mvc-3 iis-7.5 asp.net-mvc-routing


    【解决方案1】:

    假设我没看错,非区域的东西是由 mvc 控制器控制的东西?如果是这样,我有一个愚蠢的问题。您是否确认 dll 文件存在于网络服务器上?

    此外,同时使用 ASP.NET 和 MVC id 建议只使用 mvc 重写整个内容,而不是重写旧项目。

    【讨论】:

    • 是的,程序集已在服务器上的 GAC 中注册。用 MVC 重写它会很好。但我们生活在一个时间敏感的社会。
    • 即使是转换过程也需要很长时间来调试并确保它正常工作,因为您必须创建控制器和服务类来支持它们。 mvc 的一些特性可以使这个过程更容易,例如使用视图模型和强类型视图和模板。您必须进行成本效益分析,以确定直接升级与绿地解决方案是否最好。
    【解决方案2】:

    我能够通过在 Global.asax.cs 文件中正确注册路由来解决此问题。

    【讨论】:

      【解决方案3】:

      尝试清理here 中提到的目录并重建项目

      C:\Temp C:\Users\%Username%\AppData\Local\Microsoft\VisualStudio C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET 文件 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\临时 ASP.NET 文件 Path\To\Your\Project\obj\Debug

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-08
        相关资源
        最近更新 更多