Доступ к экземпляру класса из другого процесса в C#

У меня есть проект под названием "Core", который объявляет интерфейс. И у меня есть проект под названием "Сервис", который создает экземпляр класса, который реализует этот интерфейс (он ссылается на проект "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, которые бы это вызывали.

0 ответов

Другие вопросы по тегам