在IIS 6上设置我的MVC项目

时间:2009-08-13 16:17:32

标签: asp.net-mvc deployment tfs iis-6

我是一般的网络开发新手,我正在尝试发布我的第一个网络应用程序。我正在使用ASP.Net MVC 1和IIS 6.我在How to make ASP.NET MVC work in IIS 6?阅读了帖子http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx和Phil Haack的博客文章。但是,我遇到的问题是我在自己的工作计算机上没有IIS,而且只在我发布的服务器上。

我不知道在我将服务器构建到服务器之前需要采取哪些步骤以及之后的步骤。另外,在构建服务器之前,我不确定如何在程序中设置我的属性。

我使用TFS作为源代码控制,并使用它来创建构建并复制到服务器。

非常感谢任何帮助。

5 个答案:

答案 0 :(得分:4)

您的开发计算机上没有安装IIS(任何版本)并不重要,但在将ASP.NET MVC站点部署到IIS6时需要注意两个主要问题,以及他们是

  • 让IIS调用MVC的UrlRoutingModule
  • 确保Web服务器具有适当的DLL

使用IIS

IIS6仅在URL中看到映射到aspnet_isapi.dll的文件扩展名时才调用ASP.NET,并且必须调用ASP.NET 以便MVC的URLRoutingModule(因此,任何你的控制器)工作。史蒂夫桑德森写了4 ways you can get around this

我个人在我的一个内部网应用中使用选项2,因为您不需要乱用aspnet_isapi.dll或URL重写。如果您只是假装在每个路由中都有一些.aspx文件,那么它就足以欺骗IIS了。 (例如 {controller} .aspx / {action} / {id}

确保Web服务器具有适当的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 未安装时)

希望有所帮助。

答案 1 :(得分:0)

我总是创建一个子域名:dev.domain.com

我首先将我的网站部署到子域,像疯了一样进行测试,然后部署到真实位置。

我不确定你在问什么,因为每个网站可能会有所不同,所以只需测试,修复,重复。

答案 2 :(得分:0)

我建议您按照here的步骤操作,如果不起作用,请告诉我们您遇到的问题。

答案 3 :(得分:0)

是否有某些原因导致您无法在本地内置的Visual Studio Web服务器上进行测试?

要进行部署,请转到Build |发布,然后将输出目录的内容复制到服务器。

答案 4 :(得分:0)

Url重写可以帮助您解决问题。我已经实现了允许在任何IIS版本上部署MVC应用程序的解决方案,即使使用虚拟主机也是如此。 http://www.codeproject.com/KB/aspnet/iis-aspnet-url-rewriting.aspx