我的开发机器正在运行Windows XP SP2(和暗示的IIS 5.1)。
直到最近,我们的部署环境基于Windows Server 2003(因此也是IIS 6.0)。
我们即将迁移到Windows Server 2008(以及IIS 7.0)以获得新项目。
我们的项目使用ASP.NET MVC和WCF服务。
我们是否有任何关键原因要升级我们的开发机器以运行Windows Server 2008(或者可能是Vista,因为这也包含在IIS 7.0中)?
答案 0 :(得分:5)
我认为升级您的开发机器以在您的资源和资源中尽可能多地模拟尽可能多的生产环境符合您的最佳利益。否则,您可能只是将开发机器中的应用程序部署到服务器环境而完全没有意识到陷阱,这可能与IIS的不同版本,每个机器运行的.NET框架版本,或者只是方式有关。代码在运行时编译或执行。
特别是自IIS 5.1以来,IIS 7已经大幅升级,为什么在错过一些好机会之前,你不应该在开发过程中更接近它的当前功能?要真正了解应用程序在生产中的期望,请在相同的情况下进行开发。
编辑/添加:This link可以帮助您了解至少一个不同版本如何影响您的项目的重要示例。
答案 1 :(得分:1)
我建议您针对要部署的相同主要版本进行开发。也就是说,这给你留下了一些选择。首先,您可以针对本地IIS安装进行构建(就像您目前所做的那样)。这意味着您的所有盒子都应该升级到Windows Vista或Windows 2008 Server(或运行IIS 7.5的Windows 7)。您的第二个选择是部署到远程计算机。完全可以将应用程序部署到运行IIS 7的远程测试计算机并进行远程调试。问题是,如果您有多个开发人员在远程站点上工作,则会出现问题。 IIS可以为不同的开发人员处理不同Web上的远程调试,但是根据您的体系结构和配置,您可能仍然在测试Web应用程序的实例之间共享资源。您可能偶尔会相互死锁。唯一的好处是您不必为所有机器购买许可证(并且可能升级硬件以支持操作系统升级)。但是,我认为这是短视的。恕我直言,失去开发人员的生产力是不值得的。
IIS 5.1和IIS 7.x之间存在重大更改。对体系结构的更改(例如集成管道)可能会导致行为和兼容性问题截然不同。我想你会发现IIS 7对开发人员更友好。诸如失败的请求跟踪,扩展日志记录和增强的错误页面之类的引入使得更容易跟踪应用程序中的错误。在这方面,升级非常值得。