c# - 试图避免 AppDomains

标签 c# dll plugins mono appdomain

我有一个在 Linux/mono 上运行的长时间运行的 C# 服务器应用程序,我添加了动态加载 DLL 程序集的功能以扩展应用程序。我发现如果不使用 AppDomains 就无法在运行时更新这些 DLL 程序集,这看起来只会妨碍我已经完成的工作。当然会有解决方法,但这不是我真正想要的。

mono 是否提供了我可能错过的任何替代解决方案? C# 4.0 在这方面有什么新东西吗?

最佳答案

您是否考虑过将应用程序分解为不同的组件,并通过网络服务或 TCP/IP 在它们之间进行通信,而不是加载新程序集来修改行为?这样您就可以通过更改组件调用的位置来更改应用程序的行为(在运行时)。例如,您可以构建一个具有新行为的新组件,例如 webservice,然后指示所有现有组件使用它。

它还将解决使用单声道运行时长时间运行的应用程序的一些内存问题。

关于c# - 试图避免 AppDomains,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1972629/

相关文章:

c# - 非托管导出和委托(delegate)

wordpress - 如何检查Wordpress插件的安装日期和时间

c++ - Visual C++ - 将插件 DLL 链接到 EXE?

c# - WCF:如何从服务库实例内部访问服务实例?

c# - 重新托管的 WF4 设计器中参数的默认值无法解析

C# 静态类与预定义字符串的结构

windows - Delphi TForm OnCreate 被多次调用

linux - 为什么 OpenCV gpu-module runtime library 在 Windows 和 Linux 中有巨大的大小差异

jQuery Fancybox 2.0.1 + 模态模式

C# - 将大型 (150MB) 文本文件读入富文本框