У меня есть проект под названием «Core», который объявляет интерфейс.И у меня есть проект под названием «Сервис», который создает экземпляр класса, который реализует этот интерфейс (он ссылается на проект «Ядро» на своих зависимостях).
Оба проекта работают независимо, так как я могу запустить «Ядро» (этоEXE).Если я это сделаю, я хотел бы проверить, запущен ли «Сервис», и если да, получить экземпляр класса, созданного в процессе «Сервис», и вызвать его метод.
Похоже,это (почти).
В проекте «Core» :
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
}
}
}
В проекте «Service» :
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();
}
}
}
Он должен каким-то образом переходить из одного процесса в другой, но я незнаком с методами взаимодействия, которые бы это вызывали.