我有一个名为“Core”的项目,它声明了一个接口。我有一个名为“Service”的项目,它实例化了一个实现该接口的类(它引用了它的依赖项上的“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 方法。