在 .NET 中跨 AppDomain 移动对象

2024-01-23

有没有办法在 AppDomain 之间高效共享或移动 .NET 对象?我意识到 AppDomains 的目的是提供隔离 - 但是我有一个情况,我需要移动一组相对较大的缓存不可变对象,这些对象的计算和创建成本很高。目前,我有一种有效的序列化方法,但速度相当慢。


如果不序列化对象,则无法在 AppDomain 中移动对象。这是 AppDomain 的要点 - 您几乎可以将其视为一个完全独立的进程。

这就是 MarshalByRefObject 发挥作用的地方。它可以让你use通过远程处理从其他 AppDomain 获取对象,而无需跨 AppDomain 边界对其进行序列化。您仍然通过远程处理工作,因此它比将对象保留在同一个 AppDomain 中要慢,但如果对象很大并且您不经常使用它,那么与序列化它和反序列化相比,这可以节省大量时间它在第二个 AppDomain 中创建一个新副本。

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

在 .NET 中跨 AppDomain 移动对象 的相关文章

  • ClickOnce 应用程序错误:部署和应用程序没有匹配的安全区域

    我在 IE 中使用 FireFox 和 Chrome 的 ClickOnce 应用程序时遇到问题 它工作正常 异常的详细信息是 PLATFORM VERSION INFO Windows 6 1 7600 0 Win32NT Common
  • 如何在加载.NET WinForm应用程序user.config文件时捕获异常?

    有时 在使用默认配置系统的 NET 2 0 WinForm 桌面应用程序中 user config文件将被损坏并且无法再加载 当配置系统尝试加载它时 它会抛出一个System Xml XmlException 抛开 为什么文件首先被损坏 的
  • 在 C 中匹配二进制模式

    我目前正在开发一个 C 程序 需要解析一些定制的数据结构 幸运的是我知道它们是如何构造的 但是我不确定如何在 C 中实现我的解析器 每个结构的长度都是 32 位 并且每个结构都可以通过其二进制签名来识别 举个例子 有两个我感兴趣的特定结构
  • 回发后刷新时提示确认表单重新提交。我做错了什么?

    我有一个以空白 默认状态启动的仪表板 我让用户能够将保存的状态加载到仪表板中 当他们单击 应用 按钮时 我运行以下代码 function CloseAndSave var radUpload find radUpload1ID var in
  • 将 Word 文档另存为图像

    我正在使用下面的代码将 Word 文档转换为图像文件 但是图片显得太大 内容不适合 有没有办法渲染图片或将图片保存到合适的尺寸 private void btnConvert Click object sender EventArgs e
  • 为什么调用非 const 成员函数而不是 const 成员函数?

    为了我的目的 我尝试包装一些类似于 Qt 共享数据指针的东西 经过测试 我发现当应该调用 const 函数时 会选择它的非 const 版本 我正在使用 C 0x 选项进行编译 这是一个最小的代码 struct Data int x con
  • 是否有实用的理由使用“if (0 == p)”而不是“if (!p)”?

    我倾向于使用逻辑非运算符来编写 if 语句 if p some code 我周围的一些人倾向于使用显式比较 因此代码如下所示 if FOO p some code 其中 FOO 是其中之一false FALSE 0 0 0 NULL etc
  • 如何禁用 fread() 中的缓冲?

    我正在使用 fread 和 fwrite 读取和写入套接字 我相信这些函数用于缓冲输入和输出 有什么方法可以在仍然使用这些功能的同时禁用缓冲吗 Edit 我正在构建一个远程桌面应用程序 远程客户端似乎 落后于服务器 我不知道可能是什么原因
  • 为什么 std::strstream 被弃用?

    我最近发现std strstream已被弃用 取而代之的是std stringstream 我已经有一段时间没有使用它了 但它做了我当时需要做的事情 所以很惊讶听到它的弃用 我的问题是为什么做出这个决定 有什么好处std stringstr
  • AES 128 CBC 蒙特卡罗测试

    我正在 AES 128 CBC 上执行 MCT 如中所述http csrc nist gov groups STM cavp documents aes AESAVS pdf http csrc nist gov groups STM ca
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成
  • 使用 %d 打印 unsigned long long

    为什么我打印以下内容时得到 1 unsigned long long int largestIntegerInC 18446744073709551615LL printf largestIntegerInC d n largestInte
  • C++ 函数重载类似转换

    我收到一个错误 指出两个重载具有相似的转换 我尝试了太多的事情 但没有任何帮助 这是那段代码 CString GetInput int numberOfInput BOOL clearBuffer FALSE UINT timeout IN
  • 调用堆栈中的“外部代码”是什么意思?

    我在 Visual Studio 中调用一个方法 并尝试通过检查调用堆栈来调试它 其中一些行标记为 外部代码 这到底是什么意思 方法来自 dll已被处决 外部代码 意味着该dll没有可用的调试信息 你能做的就是在Call Stack窗口中单
  • 从 Excel 应用程序对象中查找位数(32 位/64 位)?

    是否可以从 Microsoft Office Interop Excel ApplicationClass 确定 Excel 是以 32 位还是 64 位运行 Edit该解决方案应该适用于 Excel 2010 和 Excel 2007 此
  • C++ 条件编译

    我有以下代码片段 ifdef DO LOG define log p record p else define log p endif void record char data 现在如果我打电话log hello world 在我的代码中
  • 无法接收 UDP Windows RT

    我正在为 Windows 8 RT 编写一个 Windows Store Metro Modern RT 应用程序 需要在端口 49030 上接收 UDP 数据包 但我似乎无法接收任何数据包 我已按照使用教程进行操作DatagramSock
  • WebSocket安全连接自签名证书

    目标是一个与用户电脑上安装的 C 应用程序交换信息的 Web 应用程序 客户端应用程序是 websocket 服务器 浏览器是 websocket 客户端 最后 用户浏览器中的 websocket 客户端通过 Angular 持久创建 并且
  • 使用 .NET Process.Start 运行时挂起进程 - 出了什么问题?

    我在 svn exe 周围编写了一个快速而肮脏的包装器来检索一些内容并对其执行某些操作 但对于某些输入 它偶尔会重复挂起并且无法完成 例如 一个调用是 svn list svn list http myserver 84 svn Docum
  • 如何将 PostgreSql 与 EntityFramework 6.0.2 集成? [复制]

    这个问题在这里已经有答案了 我收到以下错误 实体框架提供程序类型的 实例 成员 Npgsql NpgsqlServices Npgsql 版本 2 0 14 2 文化 中性 PublicKeyToken 5d8b90d52f46fda7 没

随机推荐

  • 还有人知道这是什么意思吗?

    static final boolean assertionsDisabled java util TaskQueue desiredAssertionStatus 在源文件中看到的java util TaskQueue java Quot
  • Kotlin:公共获取私有设置变量

    在 kotlin 中定义具有公共 getter 和私有 仅内部可修改 setter 的 var 的正确方法是什么 var setterVisibility String abc Initializer required not a null
  • 该证书的颁发者无效:钥匙串将所有证书标记为“无效颁发者”[重复]

    这个问题在这里已经有答案了 钥匙串突然将我的钥匙串中的所有证书显示为无效 因为它在 2 天前工作 我还检查了开发人员门户 它在那里显示有效 它将钥匙串中的每个证书标记为 该证书的颁发者无效 正如消息表明 这一定是发行人方面的问题 而我们的发
  • InternalResourceViewResolver 与 UrlBasedViewResolver 有何不同

    我刚刚开始使用Spring 我遇到了很多教程 我看到了更多使用的例子InternalResourceViewResolver than UrlBasedViewResolver 我查看了 Spring 文档 但我无法弄清楚使用其中之一的好处
  • 尝试使用 FragmentActivity 时无法访问 ActivityCompat Api 23

    我尝试在我的智能手表上使用 ViewPager 但在尝试重建 运行 调试我的应用程序时不断收到错误 我正在使用 FragmentActivity 这就是发生错误的地方 我搜索了 stackoverflow 和教程网站来看看可能是什么问题 很
  • 为什么没有“国外进口原药不安全”?

    这是我之前问题的后续here https stackoverflow com questions 41213378 using foreign import prim with a c function using stg calling
  • 在现有的 Ruby on Rails 应用程序中创建博客

    我有兴趣向我的 Ruby on Rails 应用程序添加博客 我不想浪费时间在 Rails 中编写 bloggin 应用程序 我可以做到 但我只是更喜欢更强大的东西 我研究过 Wordpress 它似乎是最好的博客平台之一 我的问题是如何将
  • 实体框架返回旧数据

    我遇到了 EF 无法在 3 层 WPF 应用程序中返回最新数据的问题 我怀疑这与我处理上下文生命周期的方式有关 这是场景 UnitOfWork 内包含多个存储库 还有一项服务 MyService 它使用 UnitOfWork 此 UnitO
  • 使用朴素贝叶斯分类器对推文进行分类:一些问题

    除了其他来源之外 我还使用 Stackoverflow 上的各种帖子 尝试实现自己的 PHP 分类器 将推文分为正面 中性和负面类别 在编码之前 我需要理清流程 我的思路和例子如下 p class p words class Bayes t
  • Nemerle 和 F# 在 .Net 上的功能比较

    社区维基问题 根据这个问题 在 Net 中使用 Scala 有什么好处 https stackoverflow com questions 3587499 what are the benefits of using scala in ne
  • ios7中光标可见性问题

    只需创建一个UITextField in ios7 SDK但是当我输入一些内容时 会显示文本UItextField但光标不是 关于可能出现什么问题的任何线索吗 使用光标更改 UITextField 的tintColor mobileText
  • Java 中的重定向 stdin 和 stdout

    我正在尝试重定向 java 中子进程的标准输入和标准输出 最终我会将输出转到 JTextArea 或其他东西 这是我当前的代码 Process cmd Runtime getRuntime exec cmd exe cmd getOutpu
  • C# 映射两个复杂对象

    我有四门课 public class Customer public string FirstName get set public string LastName get set public List
  • 获取从 firebase firestore 返回的文档中的特定字段

    所以 我有一个可能非常容易解决的问题 我只是不太明白 本质上 此时我正在尝试将特定文档的字段存储到 2 个变量中 以便我可以在其他地方使用它们 这是我的 firestore 层次结构 这是我到目前为止的代码 我认为我走在正确的轨道上 但我不
  • 如果类“包含”或正则表达式,美丽的汤?

    如果我的班级名称不断不同 例如 listing col line 3 11 dpt 41 listing col block 1 22 dpt 41 listing col line 4 13 CWK 12 通常我可以这样做 for Eac
  • Mercurial:获取有关存储库的信息而不克隆它们

    几天前 我开始尝试 Mercurial 一切都很顺利 直到我决定尝试编写一个小程序 该程序从远程服务器获取存储库列表和每个存储库的变更集 ID 列表 允许用户选择存储库并变更集 克隆它并更新到所选的修订版 这引发了两个问题 有没有办法从服务
  • 尝试将字符串文字作为模板参数传递[重复]

    这个问题在这里已经有答案了 我正在尝试找到一种舒适的方法来将字符串文字作为模板参数传递 我不关心支持尽可能多的编译器 我正在使用最新版本的 g std c 0x 我尝试了很多可能的解决方案 但都令我失望 我有点放弃了 但首先我想知道why其
  • 在Python中评估布尔环境变量

    在Python中如何评估环境变量是否为布尔值True 使用是否正确 if os environ ENV VAR is True Option 1 我认为这很有效 my env os getenv ENV VAR False lower in
  • XNA 查看矩阵 - 寻求解释

    我在理解 XNA 中的视图矩阵时遇到了一些严重的问题 我已经在所有其他部分方面取得了很大的进展 并且由于我刚刚学会了所需的数学知识 因此我不想在不首先了解内置矩阵函数的作用的情况下使用它们 现在我了解了旋转 投影和平移的基础知识 但我一生都
  • 在 .NET 中跨 AppDomain 移动对象

    有没有办法在 AppDomain 之间高效共享或移动 NET 对象 我意识到 AppDomains 的目的是提供隔离 但是我有一个情况 我需要移动一组相对较大的缓存不可变对象 这些对象的计算和创建成本很高 目前 我有一种有效的序列化方法 但