Доступ к экземпляру класса из другого процесса в C # - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть проект под названием «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();
        }
    }
}

Он должен каким-то образом переходить из одного процесса в другой, но я незнаком с методами взаимодействия, которые бы это вызывали.

...