我有一个名为“ Core”的项目,该项目声明了一个接口。我有一个名为“ Service”的项目,该项目实例化实现该接口的类(它在依赖项上引用了“ Core”项目)。
两个项目都独立运行,因为我可以运行“ Core”(这是一个EXE)。如果我愿意,我想验证“服务”是否正在运行,如果是,则获取在“服务”过程中创建的类的实例并调用它的方法。
(几乎)看起来像这样。
在“核心”项目上:
namespace Core
{
public interface IController { void Update(long ID, string Value, string Components); }
public static class Utils
{
public static IController Controller;
internal void Main(string[] args)
{
//Here, if "Service" is running, then get "Controller" from it
}
}
}
在“服务”项目中:
namespace Service
{
internal class ControlMe : Core.IController
{
public void Update(long ID, string Value, string Components)
{
//Do other things
}
internal void Main(string[] args)
{
Core.Utils.Controller = new ControlMe();
}
}
}
它应该以某种方式从一个进程转移到另一个进程,但是我不熟悉将调用该进程的Interop方法。