.NET 中是否有热插拔的参考实现?

2024-03-05

我正在寻找在 .NET 中完成热交换的良好实现。我需要的东西是:

  • 能够将 DLL 部署到特定文件夹中并让正在运行的系统拾取它们。
  • 让正在运行的系统更新容器中的相应引用。

我一直在研究MEF及其目录加载机制,但它似乎非常不可靠。也许有人有替代的实现?


您可以提供自定义事件处理程序AssemblyResolve通过致电newAppDomain()以下。提供你的目录AppDomain看起来在那里。加载类型时,使用函数loadFromAppDomain()返回它。这应该允许您将新的 dll 复制到C:\dlls在运行时并从那里重新加载。 (请原谅,我根据您的标签将其从 VB 源代码翻译为 C#。)

String dllFolder = "C:\\dlls";

public void newAppDomain()
{
    AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(assemblyResolve);
}

private static Assembly assemblyResolve(Object sender, ResolveEventArgs args){
    String assemblyPath = Path.Combine(dllFolder, new AssemblyName(args.Name).Name + ".dll");
    if(!File.Exists(assemblyPath))
    {
        return null;
    }
    else
    {
        return Assembly.LoadFrom(assemblyPath);
    }
}

private Type loadFromAppDomain(String className)
{
    Assembly[] asses = AppDomain.CurrentDomain.GetAssemblies();
    List<Type> types = new List<Type>();
    foreach(Assembly ass in asses)
    {
        Type t = ass.GetType(className);
        if(t != null) types.Add(t);
    }
    if(types.Count == 1)
        return types.First();
    else
        return null;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.NET 中是否有热插拔的参考实现? 的相关文章

  • 静态类变量与外部变量相同,只是具有类作用域吗?

    在我看来 静态类变量与外部变量相同 因为你只需要declare它在static int x extern int x语句 并在其他地方实际定义它 通常在 cpp 文件中 静态类变量 h file class Foo static int x
  • 访问“if”语句之外的变量

    我怎样才能使insuranceCost以外可用if陈述 if this comboBox5 Text Third Party Fire and Theft double insuranceCost 1 在 if 语句之外定义它 double
  • Qt 计算和比较密码哈希

    目前正在 Qt 中为测验程序构建面向 Web 的身份验证服务 据我了解 在数据库中存储用户密码时 必须对其进行隐藏 以防落入坏人之手 流行的方法似乎是添加的过程Salt https en wikipedia org wiki Salt cr
  • 矩阵向量变换

    我正在编写一个代码来制作软件蒙皮器 骨骼 皮肤动画 并且我正处于 优化 阶段 蒙皮器工作得很好 并且在 Core 上 1 09 毫秒内对 4900 个三角形网格与 22 个骨骼进行蒙皮Duo 2 Ghz 笔记本 我需要知道的是 1 有人可以
  • 无法通过 HTTPS 调用 Web 服务

    我正在开发一个 Net 应用程序 它与 Web 服务通信以获取一些数据 Net 应用程序和 Web 服务之间的连接是通过 HTTPS 完成的 当我从 Net 应用程序调用 Web 服务时 我得到以下堆栈跟踪 System Net WebEx
  • 存储过程上的 OdbcCommand - 输出参数上出现“未提供参数”错误

    我正在尝试执行存储过程 通过 ODBC 驱动程序针对 SQL Server 2005 但收到以下错误 过程或函数 GetNodeID 需要参数 ID 但未提供该参数 ID 是我的过程的 OUTPUT 参数 在存储过程中指定了一个输入 mac
  • 序列化和反序列化 Visual Studio 解决方案文件 - 或以编程方式编辑?

    我想以编程方式添加和删除项目 解决方案文件夹和其他项目 例如解决方案的资源文件 但我不确定最好的方法是什么 对于那些不知道的人 高度简化 解决方案文件 sln 通常如下所示 Microsoft Visual Studio Solution
  • 格式化货币

    在下面的示例中 逗号是小数点分隔符 我有这个 125456 89 我想要这个 125 456 89 其他示例 23456789 89 gt 23 456 789 89 Thanks 看看这个例子 double value 12345 678
  • 日期时间的自定义 JavaScriptConverter?

    我有一个对象 它有一个 DateTime 属性 我想通过 AJAX JSON 将该对象从 ashx 处理程序传递回网页 我不想使用第 3 方控件 当我这样做时 new JavaScriptSerializer Serialize DateT
  • 如何用 C 语言练习 Unix 编程?

    经过五年的专业 Java 以及较小程度上的 Python 编程并慢慢感觉到我的计算机科学教育逐渐消失 我决定要拓宽我的视野 对世界的一般用处 并做一些 对我来说 感觉更重要的事情就像我真的对机器有影响一样 我选择学习 C 和 Unix 编程
  • 我们可以使用 EWS 托管 API 连接到 Exchange 2016 吗?

    我使用的是 EWS 托管 API 2 2 它的枚举中没有显示 Exchange 版本 2016 我可以看到 Exchange 2013 之前的版本 那么如何连接到 Exchange Server 2016 该 API 是否尚未从 Micro
  • 相当于 C# 中 Java 的“ByteBuffer.putType()”

    我正在尝试通过从 Java 移植代码来格式化 C 中的字节数组 在 Java 中 使用方法 buf putInt value buf putShort buf putDouble 等等 但我不知道如何将其移植到 C 我尝试过 MemoryS
  • 从 C 线程调用 Python 代码

    我对从 C 或 C 线程调用 Python 代码时如何确保线程安全感到非常困惑 The Python 文档 http docs python org c api init html non python created threads似乎是
  • #pragma pack(16) 和 #pragma pack(8) 的效果总是相同吗?

    我正在尝试使用来对齐数据成员 pragma pack n http msdn microsoft com en us library 2e70t5y1 28v vs 100 29 aspx 以下面为例 include
  • 纯虚函数可能没有内联定义。为什么?

    纯虚函数是那些虚函数并且具有纯说明符 0 第 10 4 条第 2 款C 03 的内容告诉我们什么是抽象类 顺便说一句 如下 注意 函数声明不能 同时提供纯说明符和定义 尾注 示例 struct C virtual void f 0 ill
  • 为什么使用 HTTP 动词?

    因为动词的目标是像 server domain getallrecords 或 server domain delete1record 或类似的 URL 而getallrecords delete1record都是专门为特定目的而设计的 为
  • 如何获取 QIcon 的文件/资源​​路径

    假设我做了这样的事情 QIcon myIcon resources icon ico 我稍后如何确定该图标的路径 例如 QString path myIcon getPath 问题是 没有getPath 会员 我找不到类似的东西 但肯定有办
  • C++ [Windows] 可执行文件所在文件夹的路径[重复]

    这个问题在这里已经有答案了 我需要访问一些文件fstream在我的 Windows 上的 C 应用程序中 这些文件都位于我的exe文件所在文件夹的子文件夹中 获取当前可执行文件的文件夹路径的最简单且更重要的 最安全的方法是什么 Use 获取
  • 使用 Chrome 和 Selenium 设置 LocalStorage

    我正在尝试使用 OpenQA Selenium 和 Chrome 设置本地存储键和值 我认为这相当微不足道 但我似乎无法让它发挥作用 我对 C 很陌生 所以我可能错过了一些东西 无论如何 我有这个功能 public static void
  • 从有符号字符转换为无符号字符然后再转换回来?

    我正在使用 JNI 并有一个 jbyte 类型的数组 其中 jbyte 表示为有符号字符 即范围从 128 到 127 jbyte 表示图像像素 对于图像处理 我们通常希望像素分量的范围为0到255 因此 我想将jbyte值转换为0到255

随机推荐

  • 如何将 javascript 函数存储在队列中以便最终执行它们[重复]

    这个问题在这里已经有答案了 我在 javascript 中创建了一个 Queue 类 我想将函数作为数据存储在队列中 这样我就可以建立请求 函数调用 并在需要时响应它们 实际执行函数 有没有什么方法可以将函数存储为数据 有点类似于 setT
  • xmlserializer 未通过导入正确反序列化架构

    我一直在尝试使用从 xsd exe 中的架构生成的类来反序列化 C 中的 xml 文件 不幸的是 只有部分文件被正确反序列化 其余部分由于我无法解决的原因而返回为空 我的流程如下 从生成 C 代码的 myschema xsd 文件开始
  • PyEnv BUILD 在 MacOS 上安装 Python 失败

    尝试安装时Python 3 6 6 for Airflow using PyEnv on MacOS 我遇到构建失败与以下堆栈跟踪 File private var folders 6y kf699bqj2sgcgjshb20fr5zh00
  • 关于 AT&T x86 语法设计的问题

    谁能向我解释为什么 AT T 语法中的每个常量前面都有一个 为什么所有寄存器都有 这是否只是又一次试图让我做很多蹩脚的打字 另外 我是唯一一个发现 16 esp 相比之下确实违反直觉 esp 16 我知道它编译成同样的东西 但为什么有人想在
  • Docker 数据卷容器 - 我可以在 swarm 之间共享吗

    我知道如何使用 volumes from 创建数据卷容器并将其安装到多个其他容器 但我确实有一些关于它的用法和限制的问题 情况 我希望使用数据卷容器来为我的 Web 应用程序存储用户上传的图像 此数据卷容器将由运行 Web 前端的许多其他容
  • jQuery 检测点击禁用的提交按钮

    Fiddle http jsfiddle net ugzux http jsfiddle net ugzux 如您所见 我有一个带有禁用 通过 javascript 提交按钮的表单 无论如何 我希望能够将单击事件绑定到它 这样我就可以在允许
  • ARKitestimatedVerticalPlane命中测试获取平面旋转

    我正在使用 ARKit 在运行时检测墙壁 当触摸屏幕的某个点时 我使用 estimatedVerticalPlane 类型的命中测试 我正在尝试将 Y 旋转应用于与检测到的平面方向相对应的节点 我想计算旋转 private func com
  • VBA 将工作表保存到受密码保护的 PDF

    以下命令将活动表另存为 PDF ActiveSheet ExportAsFixedFormat Type xlTypePDF Filename C blahblah2 pdf Quality xlQualityStandard Ignore
  • 使用 Dancer 和 Postgres 的简单登录/授权系统

    作为 Perl 的新手 我正在努力寻找一种简单的方法来做到这一点 我在数据库中创建了一个非常简单的表 CREATE TABLE users id SERIAL NOT NULL PRIMARY KEY username TEXT NOT N
  • 如何在 Yii2 html::dropdownlist 中保留所选值?

    我认为有以下代码 and submit button 我的代码运行良好 但有一个大问题 我选择一个区域并单击搜索按钮 结果正确 当我单击下一页时 每页显示 10 个结果 它给了我
  • 如何在 WinDbg 中删除断点 ntdll!DbgBreakPoint+0x1

    我正在调试一个在将 WinDbg 设置为事后调试器时崩溃的程序 我在地址 77f7f571 设置了断点 当它被触发时 我常常得到以下信息 ERROR Symbol file could not be found Defaulted to e
  • 导入库 Oshi

    我想开发一个显示计算机信息的程序 我找到了一个名为 Oshi https github com oshi oshi 当我导入该库并运行我的代码时 出现异常 Exception in thread main java lang NoClass
  • 无法从 CursorWindow 读取第 0 行第 9 列

    我收到错误无法从 CursorWindow 读取第 0 行 第 9 列 在访问游标中的数据之前 请确保游标已正确初始化 另外两个人能够毫无错误地运行代码 但在我的机器上它会抛出错误 我很困惑 下面是处理 SQLite 的代码 提前致谢 抱歉
  • 如何使用 Arcore 截屏?

    我正在尝试截取增强现实屏幕的屏幕截图并将其作为位图传递给另一个活动 这是我用来截取屏幕截图的代码 截图功能 public static void tmpScreenshot Bitmap bmp Context context try Wr
  • 在聚集索引上使用顺序 GUID 键插入的速度并没有明显加快

    在 SQL Server 2008 中 我尝试重现顺序与非顺序 GUID 键上的聚集索引的实验结果 如下所示http sqlblog com blogs denis gobo archive 2009 02 05 11743 aspx ht
  • 如何在python中解析ISO格式的日期时间字符串?

    在 pandas 中 我们如何根据这些数据创建日期时间列 df pd DataFrame date 2020 02 04T22 03 44 846000 00 00 print df date 0 2020 02 04T22 03 44 8
  • 使用 VBA 双击单元格以显示 Excel 中链接中的图片

    我有以下功能 如果您将鼠标悬停在图片上 它将显示图片 它非常整洁并且运行良好 但是 我想将其从在其上运行鼠标更改为双击功能 下面是当您将鼠标悬停在单元格上时将显示图片的有效代码 Dim DoOnce As Boolean Public Fu
  • 导航栏中带有大图块或搜索栏的 UIRefreshControl 的动画出现故障

    我有一个嵌入导航控制器的控制器 带有大标题和 UIRefreshControl 当我在 tableView 上进行拉动刷新时 活动指示器的动画非常不稳定 我不知道我的代码是否有不良行为 tableView refreshControl UI
  • 多列数据转换

    我正在从数据源接收数据 在将信息发送到 UI 进行显示之前 我需要先进行数据透视 I am new to concept of pivoting I am not sure how to go about it 问题有两个部分 形成标题 旋
  • .NET 中是否有热插拔的参考实现?

    我正在寻找在 NET 中完成热交换的良好实现 我需要的东西是 能够将 DLL 部署到特定文件夹中并让正在运行的系统拾取它们 让正在运行的系统更新容器中的相应引用 我一直在研究MEF及其目录加载机制 但它似乎非常不可靠 也许有人有替代的实现