Deploy asp.net mvc beta to iis 6 causing 404's

你离开我真会死。 提交于 2019-11-27 14:05:03

问题


I'm struggling to get around the 404 errors from asp.net mvc beta when deploying on IIS 6. I had this working in one of the previews by mapping .mvc in IIS but this no longer works. I've read Omar's post and several others on the web and tried their solutions but no luck so far.

The home page opens without a problem on IIS 6 but others 404 and the site runs well on IIS 7.

Has anybody deployed asp.net mvc beta to IIS 6 with success? If so, what adjustments did you need to make to the code and/or IIS settings to get it to work?


回答1:


I found a solution to my problem from Steve Sanderson's blog (Thanks Steve):

Use a wildcard mapping for aspnet_isapi.dll. This tells IIS 6 to process all requests using ASP.NET, so routing is always invoked, and there’s no problem. It’s dead easy to set up:

  • open IIS manager (run -> inetmgr -> OK)
  • right-click your app, go to Properties
  • then Home Directory tab, then click Configuration.
  • Under Wildcard application maps, click Insert (not Add, which is confusingly just above)
  • then enter C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll for “Executable”, and uncheck Verify that file exists.



回答2:


I can't seem to write comments yet. So I'll write a new answer.

There are a few similar questions going around on stackoverflow. I'm using MVC 3. I know the question was MVC 2 related. But since this is the first stackoverflow post I bumped in to, I think it's worth mentioning that:

  • when you use MVC 3, you need to add a new extension mapping with the executable of the .NET 4 framework (C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll)

<edit>I just found out that I even don't need to set up the extension mapping. </edit>

  • It still didn't work for me then :) I still had to 'Allow' ASP.NET v4.0.30319 in the Web Service Extensions section in IIS:
    • open IIS
    • click on the server node
    • open the Web Service Extensions section
    • select the ASP.NET v4.0....
    • right click --> Allow Good to go!



回答3:


Url rewriting can help you to solve the problem. I've implemented solution allowing to deploy MVC application at any IIS version even when virtual hosting is used. http://www.codeproject.com/KB/aspnet/iis-aspnet-url-rewriting.aspx



来源:https://stackoverflow.com/questions/239981/deploy-asp-net-mvc-beta-to-iis-6-causing-404s

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!