c# - 在生产中更新 dll 时请求会发生什么情况?
问题描述
我们目前正在开发一个 asp.net mvc 应用程序来替换我们旧的经典 asp 应用程序。
因为我们过去只是将 .asp 文件上传到生产服务器,所以我们想对 .net 生成的已编译 dll 做同样的事情。
现在,我想知道,当网络服务器重新加载程序集时,打开对应用程序的请求会发生什么?
解决方案
经典的 asp 是一种脚本语言,不需要编译,因此您可以根据自己的喜好覆盖生产中的文件。
然而,MVC 需要编译,创建和使用临时文件。因此,您不能简单地覆盖正在运行的系统中的 dll,这些 dll 将被使用。
您将需要停止您的应用程序,这将终止所有连接并且不再接受任何请求,进行上传,重新编译您的应用程序,然后重新启动它。
所有这些通常都可以通过 CI/CD 管道快速完成。您可能希望围绕此创建一个流程,可能会使网站暂时不可用,但这取决于您正在运行的系统类型以及它的重要性。如果您需要 24/7 全天候不间断运行,那么您将需要一些创意
推荐阅读
- java - HA 注册表:如何避免启动时出现异常?
- maven - 如何修复詹金斯中的空指针异常问题
- java - Springboot获取rquest不使用@OneToMany获取第三级对象
- c++ - gdb 无法访问值类型变量的内存
- javascript - (Nuxt.js)在 Vue.js 之上使用 Nuxt.js 时出现 Firebase 错误,但适用于 vanilla Vue.js
- database - 用于自动交易的 Python 3 框架
- multithreading - 如何在groovy中实现多线程?
- r - 使用公式中使用的参数创建函数
- javascript - 使用javascript在空格后反转数组
- c++ - 实现进程外 COM 服务器,每个调用进程一个服务器进程