加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 部署网站的最佳方式 – 应用程序池启动停止或网

发布时间:2020-12-16 03:30:01 所属栏目:asp.Net 来源:网络整理
导读:将更改部署到网站的最佳方式是什么(替换dll和其他所需文件)? 是应该停止并启动网站还是应该停止并启动应用程序池? 我读到当网站停止时,它仍然在内存中加载了应用程序状态.在这种情况下,是否会提供旧请求?可以毫无问题地更换dll吗?网站启动时如何重新加载
将更改部署到网站的最佳方式是什么(替换dll和其他所需文件)?

是应该停止并启动网站还是应该停止并启动应用程序池?

我读到当网站停止时,它仍然在内存中加载了应用程序状态.在这种情况下,是否会提供旧请求?可以毫无问题地更换dll吗?网站启动时如何重新加载内容?

当应用程序池停止时,它是否会继续提供旧请求?如果是,考虑到网站现在包含已更改的dll,旧请求如何得到服务?

解决方法

What is the best way to deploy changes to a website( replace the dlls and other required files) ?

最好的方法是使用Web Deploy来自动化该过程.它会自动比较文件并仅替换所需内容并删除不需要的文件,从而使其非常快速,高效和可靠.

Should the website be stopped and started or should the app pool be stopped and started?

您通常不必这样做.但是,如果您希望在升级期间阻止访问您的网站并且升级预计需要几秒钟,那么您可以停止该网站并启动另一个使用相同IIS绑定的网站和“维护中的应用程序” “ 信息.

I read that when a website is stopped,it still has the application state loaded in memory. In this case will the old request be served ? Can the dlls be replaced without any problem ? How does the content gets reloaded when the website is started?

HTTP协议是无状态的.因此,大多数更新的内容将从服务器上的新文件重新加载.

有一些例外.

如果您使用的是out-of-process session state,则即使重新编译并重新加载应用程序,也会保持状态.通常,您在会话状态中拥有的数据是您希望在升级后继续存在的数据.

如果您正在使用缓存(System.Web.Caching或System.Runtime.Caching),如果您指定使其“不可删除”,则缓存的数据将保留.通常,我将单个文件用作应用程序作为缓存依赖项,因此当在服务器上编辑(或替换)该文件时,将重置缓存.

输出缓存没有缓存依赖性.通常它会一直存在,直到重新启动应用程序池.但是,您可以看到this answer手动方式重置它而不重置应用程序池.

Cookie存储在远程客户端计算机上.因此,它们将在完整升级后继续存在.

静态文件(图像,css和javascript文件)通常缓存在远程客户端计算机上.因此,当您进行升级时,将查询字符串附加到这些URL的末尾以确保不使用缓存文件会很有帮助.有关此类方法,请参见this article.

When the app pool is stopped,will it continue to serve the old requests? If yes,how does the old request gets served considering the website is now containing the changed dlls?

正如我已经提到的,HTTP协议是无状态的.服务器不会重播客户端以前发出的任何请求.一旦客户端收到响应,服务器就会忘记它们.

Web服务器处理升级的很多方式取决于它是Web应用程序还是Web站点(如果是网站,是否已经预编译).如果应用程序在升级期间运行,则尝试访问它的用户可能会看到错误.

我的建议是:不要担心.安排非高峰时段的升级.使用Web Deploy自动执行此过程,以使升级窗口尽可能短.并使用上述技术确保缓存的数据和内容得到适当重置.在大多数应用程序中,半夜或几分钟的停机时间几乎没有引起注意.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读