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

17

虽然我对ASP.NET并不是很熟悉,但我仍然需要在一个需要定期将新版本部署到生产IIS服务器的ASP.NET项目上工作。

那么ASP.NET应用程序部署的一般最佳实践是什么呢?

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

3个回答

14
尽量在很少或没有用户在线的情况下执行生产部署,例如在夜间或周末。通知用户将进行计划中的停机。
在部署到生产环境时,您可以创建一个 "App_Offline.htm" 文件,并将其放置在 ASP.NET 网站的根目录中。ASP.NET 识别此文件具有特殊意义-所有动态页面请求都会显示此页面,而不是用户请求的页面。通常,此页面会显示友好的消息,例如“服务器正在进行例行维护。请在30分钟后再试。”
使部署更少痛苦的另一个提示是,在各种环境(如开发、测试和生产)之间尽可能使您的 web.config 相似。对于那些确实必须在不同环境之间更改的内容,例如连接字符串,您可以将其提取到自己的 connectionStrings.config 文件中,并通过在 web.config 中设置 实现。
对于数据库部署,有一些出色的第三方工具(如 Teratrax Database Compare for SQL Server),它们允许您比较两个数据库之间的模式和/或数据,并生成一个 SQL 脚本,该脚本将使目标数据库迁移到其他数据库的模式。这是否适用于您将取决于您的确切开发实践。如果您不能使用此类工具,则可以编写每个数据库更改的脚本,然后在部署到不同环境时重新播放这些脚本。
当然,您最好拥有一个与生产环境完全相同的测试环境,并且能够进行所有验收测试,以确保您的发布是稳定的并且您的部署将正常工作,然后再进行实际操作。

2
请确保您的 web.config 文件中设置了 <compiliation debug="false">。可以使用网站应用程序或者 Web 部署项目 进行预编译,以避免初次访问网站时出现的初始缓慢。

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接