在 IIS 5.2 上运行 MVC2 应用程序
我最近创建了一个 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
);
I recently created an MVC2 application. I am having trouble bringing it up on a Windows 2003 Server running IIS 5.2. My developing machine is Server 2008, so no problems there.
Changes I made on Server 2003 is Creating a Wildcard Script Map of * and pointing that to: c:\windows\microsoft.net\framework\v4.0.30319\aspnet_isapi.dll
I am getting an HTTP 403 Forbidden page.
I created a separate apppool and am running that using .Net 4
Here is my 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
);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我在尝试在 IIS 5.1 服务器上运行 MVC2 应用程序时遇到类似的问题。我浪费了很多时间,但最终我成功了。
您的 Global.asax 看起来不错,但还有另一件事。在 IIS 服务器上,缺少 .mvc 文件的映射。您必须添加此内容才能使您的应用程序正常运行。
转到您的 IIS,然后滚动
网站
并右键单击默认网站
并选择主目录
。现在单击配置
按钮。单击添加
以添加新的映射扩展。在
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 库,您必须使用:希望这对您有用,并且它为您节省了一些时间:)
I have similar problem while trying to get working my MVC2 application on IIS 5.1 server. I have lost many hours but finally I got it working.
Your Global.asax looks good, but there is one another thing. On IIS server there is missing mapping for .mvc files. You have to add this in order to get your app works.
Go to you IIS, then roll-up
Web sites
and right click onDefault Web Site
and selectHome directory
. Now click onConfigure
button. Click onAdd
in order to add new mapping extension.In
Executable
field paste your path toaspnet_isapi.dll
file. Usually it's underC:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
.In
Extension
field write.mvc
.At tasks (I may be wrong about this name, cause I'm not using English version of IIS) mark second option and paste
GET,HEAD,POST,DEBUG
.Mark 2 checkboxes at bottom.
Now you can save it by clicking on OK button.
One tip at the end. If OK button is disabled then just click on a field with
Executables
and it should be enabled then.Edit Here's another tip. It is quite problematic to run MVC application under IIS 5.x. You have to be careful with all paths. For example to include jQuery library in
SiteMaster
page you have to use:Hope this works for you and it saved you some time :)
提示“最后有一个提示。如果禁用“确定”按钮,则只需单击包含可执行文件的字段,然后就应该启用它。”
也为了
Tip "One tip at the end. If OK button is disabled then just click on a field with Executables and it should be enabled then."
and also for