【问题标题】:Setting up my MVC project on IIS 6在 IIS 6 上设置我的 MVC 项目
【发布时间】:2010-11-19 08:54:21
【问题描述】:
【问题讨论】:
标签:
asp.net-mvc
deployment
tfs
iis-6
【解决方案1】:
我总是创建一个子域:dev.domain.com
我先将我的网站部署到子域,疯狂测试,然后部署到真实位置。
我不太确定你在问什么,因为每个网站的情况可能都不一样,所以只需测试、修复、重复即可。
【解决方案2】:
我建议您按照here 的步骤操作,如果这不起作用,请告诉我们您遇到的问题。
【解决方案3】:
是否有某些原因您不能在本地内置的 Visual Studio Web 服务器上进行测试?
要进行部署,请转到构建 |发布,然后将输出目录的内容复制到您的服务器。
【解决方案4】:
您的开发计算机上没有安装 IIS(任何版本)并不重要,但是在将 ASP.NET MVC 站点部署到 IIS6 时需要注意两个主要问题,以及他们是
- 让 IIS 调用 MVC 的 UrlRoutingModule
- 确保 Web 服务器具有适当的 DLL
使用 IIS
IIS6 仅当它在 URL 中看到映射到 aspnet_isapi.dll 的文件扩展名时才调用 ASP.NET,并且为了使 MVC 的 URLRoutingModule 能够调用 ASP.NET 必须(因此,任何你的控制器)工作。 Steve Sanderson 对4 ways you can get around this 写了一篇精彩的文章。
我个人在我的一个 Intranet 应用程序中使用选项 2,因为您不需要弄乱 aspnet_isapi.dll 或 URL 重写。如果您只是假装在您的每条路由中都有一些 .aspx 文件,那么欺骗 IIS 就足够了。 (例如。{controller}.aspx/{action}/{id})
确保网络服务器具有适当的 DLL
您的服务器可能已经设置好了,所以这可能不是必需的。服务器必须安装 .NET Framework 3.5。如果未安装 ASP.NET MVC,则需要将以下内容添加到应用程序的 Bin 目录:
- System.Web.Mvc.dll
- System.Web.Abstractions.dll(仅当未安装 .NET 3.5 SP1)
- System.Web.Routing.dll(仅在未安装 .NET 3.5 SP1 时)
希望对您有所帮助。