ASP.NET应用程序部署的最佳实践是什么

xel*_*urg 16 asp.net deployment iis

不是太多进入ASP.NET世界,我仍然面临着在ASP.NET项目上工作的需要,需要定期将新版本部署到生产IIS服务器.

什么是ASP.NET应用程序部署的普遍接受的最佳实践?

环境:Windows Server 2003,IIS6,MySQL5,ASP.NET 2.0应用程序.

sai*_*lle 13

当在线用户很少时(例如在晚上或周末),尝试执行生产部署.通知用户将发生计划中断.

部署到生产环境时,可以创建" App_Offline.htm "文件并将其放在ASP.NET网站的根目录中.ASP.NET识别此文件具有特殊含义 - 所有动态页面请求都显示在此页面而不是用户请求的页面.通常,此页面会显示一条友好的消息,例如"服务器已关闭以进行日常维护.请在30分钟后重试."

使部署减少痛苦的另一个方法是在您的各种环境(如开发,测试和生产)之间保持web.config尽可能相似.对于在不同环境中真正需要更改的内容,例如连接字符串,您可以通过在web.config中设置将它们提取到自己的connectionStrings.config文件中.

对于数据库部署,有一些很棒的第三方工具(例如Teratrax Database Compare for SQL Server),它允许您比较两个数据库之间的模式和/或数据,并生成一个SQL脚本,将目标数据库迁移到模式另一个数据库.这是否适合您将取决于您的确切开发实践.如果您不能使用此类工具,则可以编写每个数据库更改的脚本,然后在部署到其他环境时重播这些脚本.

当然,理想情况下,您应该拥有一个与生产完全相同的测试环境,并且能够进行所有验收测试,并确保您的发布稳定,并且在您完成实际操作之前,您的部署将会正常工作.