在IIS 5.2上运行MVC2应用程序

时间:2010-08-17 19:53:52

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

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

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

我收到了HTTP 403 Forbidden页面。

我创建了一个单独的apppool,并使用.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
        );

2 个答案:

答案 0 :(得分: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>

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

答案 1 :(得分:0)

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

以及

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