更新 dll 而不停止服务

2023-11-26

我想在不停止服务的情况下更新服务器进程的 dll。我怎么做? 有点像asp.net如何自动拾取放置在bin文件夹中的新dll。


Asp.Net 使用一种称为卷影副本

如果将更新的 dll 复制到应用程序的 bin 子目录中,ASP.NET 运行时会识别出有新代码要执行。由于 ASP.NET 无法将 dll 交换到现有的 AppDomain 中,因此它会启动一个新的 AppDomain。旧的应用程序域是“drain stop”,即允许现有请求完成执行,一旦它们全部完成,AppDomain 就可以卸载。新的 AppDomain 以新代码开始,并开始接受所有新请求。

通常,当 dll 加载到进程中时,进程会锁定 dll,并且您无法覆盖磁盘上的文件。然而,AppDomains 有一个称为卷影复制的功能,允许程序集在磁盘上保持解锁和可替换状态。

运行时初始化 ASP.NET,并为 bin 目录启用卷影复制。在锁定 dll 并将其加载到内存中之前,AppDomain 会将其所需的任何 dll 从 bin 目录复制到临时位置。卷影复制允许我们在更新期间覆盖 bin 目录中的任何 dll,而无需使 Web 应用程序脱机。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更新 dll 而不停止服务 的相关文章

  • .NETStandard1.6 PCL 错误:“您的项目未引用“.NETPlatform,Version=v5.0”框架”

    为了帮助重现该问题 请执行以下步骤在 Visual Studio 2015 中创建 NETStandard1 6 PCL 创建一个新的类库 适用于 iOS Android 和 Windows 在其属性页面中 单击 目标 NET 平台标准 将
  • .NET ListView列顺序问题

    我在表单中遇到问题 我已按以下顺序将列添加到 NET ListView 控件 A B C D A D 列的显示索引按顺序为 0 3 但它们的显示顺序错误 A B D C these are switched at runtime 注意 一切
  • 增加超时时间

    我必须增加超时时间 以下是我的代码 Private Function GetConnectionInstance As SqlConnection Dim objConn As SqlConnection Dim strConnection
  • 如何从命令行设置Sphinx的`exclude_patterns`?

    我在 Windows 上使用 Sphinx 我的大部分文档都是针对普通用户的 但也有一些子页面的内容仅供管理员使用 因此 我想构建文档的两个版本 一个完整 版本 以及排除 管理 页面的第二个版本 我用的是exclude patterns在构
  • 为什么 32 位 .NET 进程的引用类型的最小大小为 12 字节

    我正在读专业 Net 性能 https rads stackoverflow com amzn click com 1430244585本书有关参考类型内部结构的部分 它提到 对于 32 位 net 进程 引用类型具有 4 字节的对象头和
  • 暂停/恢复 PC 时,让 Windows 服务正常停止和启动的正确方法是什么?

    当电脑断电进入挂起模式时 我需要停止我们的 Windows 服务 并在电脑再次恢复时重新启动它 执行此操作的正确方法是什么 你应该覆盖ServiceBase OnPowerEvent 方法 http msdn microsoft com e
  • 将某人的当地时间转换为 UTC 时间

    我有点迷失在时区中 我存储了 UTC 时间的数据 服务器位于荷兰 所以我们生活在 utc 1 现在采用夏令时 采用 utc 2 现在客户说 给我8月5日的数据 所以我必须从 他的时间 计算UTC时间 为此我必须知道 你的 utc 偏移量是多
  • 将 NameValueCollection 的所有值获取为字符串

    我有以下代码 string Keys string Join FormValues AllKeys 我试图玩弄 get string Values string Join FormValues AllKeys GetValue 但这当然行不
  • 多线程 C# 应用程序中的惰性单例

    我正在开发一个使用 WCF Web 服务的多线程 C 应用程序 与 Web 服务的连接将有一个特定的超时时间 我们可以定义该超时时间 之后连接将关闭 我希望使用单例类来存储与 Web 服务的连接 我试图获取实例如下 CLazySinglet
  • 以UAC启动时获取当前用户名

    我们的设置有一个嵌入式清单 可以在应用程序启动之前触发 UAC 应用程序以管理员用户身份运行 但是 如果安装程序需要安装 NET Framework 我们必须在重新启动后继续安装 为此 我们必须在当前用户的RunOnce中创建一个注册表项
  • 我可以在“Delphi 2007 for Win32”中使用.NET DLL吗?

    是否可以在 Delphi 2007 for Win32 中使用 NET DLL 我尝试以与 ActiveX 组件相同的方式导入 DLL 但它似乎不起作用 组件菜单 gt 导入组件 gt 导入 NET 程序集 是否可能 如果可以 步骤是什么
  • CAT.NET 的现状如何?

    我正在尝试查找适用于 VS2010 的 Microsoft CAT NET 似乎有 2 0 版本的测试版 但 Microsoft Connect 中指向它的每个链接现在都已失效 这是我能找到的最新参考资料 http blogs msdn c
  • 如何识别 GAC 程序集是否正在加载

    我已经安装了 Visual Studio 2011 beta 并发现我正在开发的一个网站已经停止工作 有人建议有一个MVC or Razor正在加载和接管的 GAC 的组件 我该如何检查这个 在调试模式下运行应用程序并观察Output wi
  • 在 Windows 中以编程方式重新启动 USB 设备

    我正在开发的一些软件需要 USB 设备 我作为串行端口与 USB 转 UART 桥进行交互 有时 计算机从休眠状态重新启动后 无法检测到该设备 并且我无法再通过串行端口写入或读取该设备 需要对设备进行读 写访问 我不能依赖用户采取任何操作
  • 使用 SimpleMembershipProvider 更新自定义用户配置文件字段?

    我添加了一个自定义字段UserProfile表名为ClassOfYear我可以在注册过程中将数据获取到个人资料中 如下所示 var confirmationToken WebSecurity CreateUserAndAccount mod
  • 在 Visual Studio 中引用同一解决方案中的项目

    我有一个包含两个项目的解决方案 其中一个项目是一个带有 DLL 文件的库 我希望能够在其他项目中引用该项目库以使用其类 我的最终目标是做到这一点 同时仍然可以访问库源代码 我尝试过引用 dll 也尝试过引用 csproj 这两种情况都有效
  • WriteLine 与类

    我正在制作一个 SchoolApp 程序来学习 C 并且我正在尝试实现以下主要功能 namespace SchoolApp class Program public static void Main string args School s
  • Json.NET 在返回 json 序列化字符串时添加反斜杠

    我正在尝试使用 Json NET 将列表序列化为 json 字符串 但返回字符串中包含反斜杠 这又导致 json 解析失败 var x from d in entities Books ToList select new ID d ID B
  • 在.NET windows窗体中向TableLayoutPanel添加动态控件

    我想在单击按钮时动态地将控件添加到面板 但我想整理一下位置 例如 我想要两个并排的文本框宽度相等 占用面板的相等空间 见下图 正如您在上图中看到的 单击按钮时 将添加控件 但我在使用 TableLayoutPanel 时遇到问题 请参阅下面
  • 实体框架代码优先:如何手动更新数据库?

    我构建了一个小型 WPF 演示应用程序 它使用 EF Code First 将其数据保存在 SQL CE 4 0 DB 中 除非我从模型对象中删除属性 否则它工作正常 例如 如果我从此类中删除 HosteBy public class Di

随机推荐

  • numpy 数组上的条件运算

    我是 NumPy 新手 在 numpy 数组上运行一些条件语句时遇到了问题 假设我有 3 个 numpy 数组 如下所示 a 0 4 4 2 1 3 0 2 3 2 4 4 b 6 9 8 6 7 7 9 6 8 6 5 7 and c 0
  • 将 Python Poetry 与 Docker 集成

    你能给我举个例子吗Dockerfile我可以在其中安装我需要的所有软件包poetry lock and pyproject toml从 Docker 进入我的镜像 容器 使用时有几点需要注意poetry和 一起docker 安装 官方安装方
  • AWS Glue 谓词下推条件无效

    我有一个 MySQL 源 我从中创建一个具有谓词下推条件的 Glue 动态框架 如下所示 datasource glueContext create dynamic frame from catalog database source ca
  • Ionic - 查看从未调用的休假事件

    将现有 Ionic 项目从 1 13 beta 更新到 1 14 beta 后 我遇到了一些无法解释的行为 从一种视图状态更改为另一种视图状态时 旧视图不会离开页面 在记录 Angular ui 路由器事件和 Ionic 导航事件后 我注意
  • Django-Haystack 与 Solr 包含搜索

    我在用haystack在项目中使用solr作为后端 我希望能够执行包含搜索 类似于 Django filter something contains The startswith选项不适合我们的需求 因为顾名思义 它查找以字符串开头的单词
  • 需要一个包含至少一个数字、零个或多个字母、无空格、最小/最大的正则表达式

    我需要一个正则表达式来匹配包含以下内容的字符串 至少一个数字 零个或多个字母 没有其他字符 例如空格 该字符串还必须至少包含 8 个字符 最多包含 13 个字符 8 13 个字符串中数字和 或字母的位置并不重要 我还没有弄清楚如何确保字符串
  • 不要使用数组列表!

    人们经常告诉我不要使用 ArrayList 在 VB NET 中创建数组 我想听听对此的意见 为什么不呢 创建和操作数组内容 维度等的最佳方法是什么 Thanks 请改用通用列表 ArrayList 不是类型化的 这意味着您可以拥有一个包含
  • 在 Oracle 中插入一百万行的最快方法

    如何以最佳方式在 Oracle 中插入超过一百万行以执行以下过程 如果我将 FOR 循环增加到一百万行 它就会挂起 create or replace procedure inst prc1 as xssn number xcount nu
  • 在调试会话之间保留 app.config 中的数据

    因此 长话短说 我正在开发一个应用程序 它将利用一些可能在运行时通过应用程序本身更改的配置信息 为此 我想使用Settings class 问题在于 信息在应用程序的不同运行之间没有保留 Run 1 Console WriteLine Se
  • pod install -bash:pod:找不到命令

    我安装了pod前一段时间 但是 它已经停止工作 所以我正在努力解决this again 然而 我几乎立即遇到了一个问题 pod install bash pod command not found 有什么建议为什么会发生这种情况吗 好的 找
  • 如何将字母数字电话号码转换为数字

    UPDATE 我的实用程序的最终版本如下所示 StringBuilder b new StringBuilder for char c inLetters toLowerCase toCharArray switch c case 0 b
  • Simple_form 错误 - ActiveRecord::Relation:Class 的未定义方法“model_name”

    我试图通过将参数传递到 where 来向我的编辑操作添加更多条件逻辑 每当我使用 find params id 以外的任何内容时 都会出现错误 undefined method model name for ActiveRecord Rel
  • python中的求和矩阵列

    我可以对零列中的项目进行求和 但是我应该在哪里更改代码以对矩阵中的第 2 列 第 3 列或第 4 列求和呢 我很容易被难住 def main matrix for i in range 2 s input Enter a 4 by 4 ma
  • 编写 JSON 模式来检测具有重复名称的对象

    根据以下帖子 JSON 语法是否允许对象中有重复的键 JSON 中具有相同名称的键是有效的 但大多数解析器会用它找到的最后一个值覆盖该值 无论如何 json 模式中是否有检测重复名称并引发错误的方法 我希望所有 json 键在对象中都具有唯
  • 在 JavaScript 中压缩开关盒

    我创建了一个棋盘 但我不喜欢 switch case 语句的外观 我认为一定有一种方法可以压缩它 但我找不到 也许你们中的一些人可以帮助我 额外说明一下 棋子是在一个二维数组中 arr2 R N B Q K B N R P P P P P
  • __RTC_CheckEsp是如何实现的?

    RTC CheckEsp是一个验证正确性的调用esp 堆栈 寄存器 调用它是为了确保esp通过函数调用保存 有人知道它是如何实施的吗 对汇编程序进行一点检查就可以发现这一点 0044EE35 mov esi esp 0044EE37 pus
  • 在另一个框架中单击按钮时更新框架上的 JPanel 内容

    我创建了一个框架 x1 其中有一个面板 p1 加载 x1 时 复选框会动态添加到 p1 添加到 p1 的复选框数量取决于数据库表 t1 中满足特定条件的数据值的数量 框架 x1 上有一个按钮 b1 当点击b1时 会显示另一个框x2 在框x2
  • Python:select() 不会发出来自管道的所有输入信号

    我正在尝试使用 Python 加载外部命令行程序并通过管道与其进行通信 该程序通过标准输入获取文本输入 并按行生成文本输出到标准输出 通信应该使用 select 进行异步 问题是 并非程序的所有输出都在 select 中发出信号 通常最后一
  • 在 PHP 中获取两个日期时间之间的间隔秒数?

    2009 10 05 18 11 08 2009 10 05 18 07 13 这应该生成235 怎么做呢 对于 DateTime 对象 您可以这样做 date new DateTime 2009 10 05 18 07 13 date2
  • 更新 dll 而不停止服务

    我想在不停止服务的情况下更新服务器进程的 dll 我怎么做 有点像asp net如何自动拾取放置在bin文件夹中的新dll Asp Net 使用一种称为卷影副本 如果将更新的 dll 复制到应用程序的 bin 子目录中 ASP NET 运行