【问题标题】:Running MVC2 Application on IIS 5.2在 IIS 5.2 上运行 MVC2 应用程序
【发布时间】:2010-08-17 19:53:51
【问题描述】:

我最近创建了一个 MVC2 应用程序。我无法在运行 IIS 5.2 的 Windows 2003 Server 上启动它。我的开发机器是 Server 2008,所以没有问题。

我在 Server 2003 上所做的更改是创建 * 的通配符脚本映射并将其指向:c:\windows\microsoft.net\framework\v4.0.30319\aspnet_isapi.dll

我得到一个 HTTP 403 禁止页面。

我创建了一个单独的应用程序池并正在使用 .Net 4 运行它

这是我的 global.asax

routes.MapRoute(
            "Default", // Route name
            "{controller}.mvc/{action}/{id}", // URL with parameters
            new { action = "Index", id = "" } // Parameter defaults
        );

        routes.MapRoute(
            "Root", // Route name
            "", // URL with parameters
            new { controller = "Home", action = "Index", id = "" } // Parameter defaults
        );

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-routing iis-5


    【解决方案1】:

    我在尝试在 IIS 5.1 服务器上运行我的 MVC2 应用程序时遇到了类似的问题。我已经浪费了很多时间,但最终我得到了它的工作。

    您的 Global.asax 看起来不错,但还有另一件事。在 IIS 服务器上,缺少 .mvc 文件的映射。您必须添加它才能使您的应用程序正常工作。

    转到您的 IIS,然后汇总 Web sites 并右键单击 Default Web Site 并选择 Home directory。现在点击Configure 按钮。单击Add 以添加新的映射扩展。

    Executable 字段中,将您的路径粘贴到aspnet_isapi.dll 文件。通常在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 下。

    Extension 字段中写入.mvc

    在任务中(我可能对这个名称有误,因为我没有使用英文版的 IIS)标记第二个选项并粘贴 GET,HEAD,POST,DEBUG

    在底部标记 2 个复选框。

    现在您可以通过单击确定按钮来保存它。

    最后一个提示。如果确定按钮被禁用,那么只需单击带有Executables 的字段,然后它应该会被启用。

    编辑这是另一个提示。在 IIS 5.x 下运行 MVC 应用程序是很成问题的。您必须小心所有路径。例如,要在SiteMaster 页面中包含 jQuery 库,您必须使用:

    
    <script type="text/javascript" src="<%= Url.Content("~/Scripts/jquery-1.4.2.min.js") %>"></script>
    

    希望这对您有用,并为您节省了一些时间:)

    【讨论】:

    • 那么对于新的映射扩展,我应该使用 v2.0.50727 还是 v4.0.30319? MVC2 应用程序是默认网站下的虚拟目录。默认网站在 ASP.NET v2.0.50727 下运行,我创建的虚拟目录在 v4.0.30319 下运行。您建议的映射是我创建默认站点的一部分还是虚拟目录?
    • 这仍然不适合我。我创建了 .mvc 映射扩展。我应该创建多少个以及哪些?另外,它们应该在虚拟目录还是默认网站下创建?
    • 发现您需要做的就是像上面显示的那样设置 Global.asax 并允许 * 虚拟目录中的脚本映射(运行 MVC 应用程序)。然后,显然,当在 Server 2003 上安装 .Net Framework 4.0 时,它会在 IIS/Web 服务器扩展中将 isapi.dll 设置为禁止。将其设置为允许后,应用程序出现了。上面引用的 JQuery/IIS5 技巧是一个很好的技巧。谢谢。
    【解决方案2】:

    提示“最后有一个提示。如果确定按钮被禁用,则只需单击带有可执行文件的字段,然后应该启用它。”

    也为

    <script type="text/javascript" src="<%= Url.Content("~/Scripts/jquery-1.4.2.min.js") %>">
    </script>
    

    【讨论】:

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