跨进程C#访问静态成员

好的,这是问题所在。 我有一个第三方c#lib,我正在编写一个关于它的工具。 所以我想从另一个应用程序监控一些静态容器,但当然我无法在我的应用程序域中访问它们。 一个简单的例子是:

namespace DefinedInAsembly1 { public class Resource { public static IList DateTimes {get;set;} } } 

  namespace DefinedInAssembly2 { class RunningProgram { static void Main(string[] args) { while(true) { Resource.DateTimes.Add(DateTime.Now); Thread.Sleep(10000); } } } } 

 namespace DefinedInAssembly3 { class ToolProgram { static void Main(string[] args) { //Accessing Resource.DateTimes with the values inserted from RunningProgram //Any ideas? } } } 

您需要使用主机OS IPC(Inter Process Commnuication)tecniques上的任何可用内容:

  • 内存映射文件
  • 命名管道
  • C#中的IPC机制 – 用法和最佳实践

因此,必须由某人监听的应用程序应该通过其中一个来暴露自己,因此另一个想要嗅探或影响它们状态的应用程序可以通过这些通道与它们进行通信。