简单的问题。如果您在服务器上运行已编译和发布的ASP.NET Web应用程序,并且需要更新其中一个codebehind文件中的一行代码,您会关闭整个站点,重新发布,然后再启动站点吗?还是直接在用户继续使用的情况下将其发布到您的实时站点上?
简单的问题。如果您在服务器上运行已编译和发布的ASP.NET Web应用程序,并且需要更新其中一个codebehind文件中的一行代码,您会关闭整个站点,重新发布,然后再启动站点吗?还是直接在用户继续使用的情况下将其发布到您的实时站点上?
对于我自己,将一个 app.offline app_offline.htm 文件放入网站中,然后用最新发布的构建覆盖整个网站。
在构建网站时有几个选项 -> 一个dll用于整个网站或每个页面一个dll。如果您只更新了代码后端中的一行,并且选择了每个页面的构建选项,则可以只复制/粘贴该新页面dll。
我个人不喜欢那种方法。我发现将网站设置为app_offline.htm很简单。
针对紧急补丁:
如果只是一个 codebehind 文件,我会复制整个 /bin/ 目录并替换所有 DLL 文件(主要是出于习惯)。
如果是 aspx 文件,我只需复制该文件。
对于实际部署,我有一个自动化系统,它从源代码控制中检出代码,构建干净的发布版本,将站点下线,然后使用 robocopy 工具将其复制到部署目标。这是一个一键式的过程(感谢 CruiseControl!)。