跨进程C#访问静态成员

时间:2013-06-24 11:36:43

标签: c# process static

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

namespace DefinedInAsembly1
{
     public class Resource
     {
       public static IList<DateTime> 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?
    }

 }
}

1 个答案:

答案 0 :(得分:5)

您需要在主机操作系统IPC(Inter Process Commnuication)tecniques上使用任何

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