【发布时间】:2008-11-04 01:04:48
【问题描述】:
简单的问题。如果您有一个在服务器上运行的已编译和发布的 ASP.NET Web 应用程序,并且您需要更新,例如,其中一个代码隐藏文件中的一行。您是否关闭了整个站点,重新发布,然后重新加载站点?还是直接发布到您的实时网站,用户仍在使用它?
【问题讨论】:
标签: asp.net deployment
简单的问题。如果您有一个在服务器上运行的已编译和发布的 ASP.NET Web 应用程序,并且您需要更新,例如,其中一个代码隐藏文件中的一行。您是否关闭了整个站点,重新发布,然后重新加载站点?还是直接发布到您的实时网站,用户仍在使用它?
【问题讨论】:
标签: asp.net deployment
对于我自己,将 app.offline app_offline.htm 文件放入网站,然后用最新发布的版本覆盖整个网站。
在构建站点时有几个选项 -> 站点一个 dll 或每页一个 dll。如果您刚刚在后面的代码中更新了一行,并且您选择了每页一个的构建选项,那么您只需复制/粘贴该新页面 dll。
我个人不喜欢这种方法。我觉得 app_offline.htm 网站很简单。
【讨论】:
如果它是一个使用 app_code 文件夹存储代码的单个文件和一个简单站点,我只需 xcopy 新文件即可。如果我使用 http 过期标头,我可能需要做一些更好的安排,以确保 javascript 文件和 css 表等内容与更新的站点的其余部分相匹配。
【讨论】:
对于紧急补丁:
如果它只是一个代码隐藏文件,我会复制整个 /bin/ 并替换所有 DLL(大部分是出于习惯)
如果它是一个aspx,我只是复制aspx。
对于实际部署,我有一个自动化系统,可以从源代码管理中检查代码,构建干净的发布版本,使站点脱机,然后将其自动复制到部署目标。它是一个单击过程(感谢 CruiseControl!)。
【讨论】: