Как получить ответ от службы Windows - PullRequest
0 голосов
/ 28 октября 2019

У меня есть служба Windows и NotifyIcon-Applicaiton (Sys-Tray), которая должна взаимодействовать с этой службой. Приложение должно отправить команду и получить ПОРТ от службы для сокета, который обеспечивает дальнейшую связь.

Служба переопределяет метод OnCustomCommand, но я не знаю, как отправить ответ вызывающей программе.

    protected override void OnCustomCommand(int command)
    {
        switch (command)
        {
            case 'p':
                // SEND Port number
                break;
            case 's':
                // SEND Service Name
                break;
            case 'n':
                // SEND Notification
                break;
        }

        base.OnCustomCommand(command);
    }

Значок приложения-уведомления

var serviceController = new ServiceController("ATLED Service"); serviceController.ExecuteCommand((int)'p');

1 Ответ

1 голос
/ 28 октября 2019

Вы можете сделать это по-разному

  1. Вы можете использовать порт TCP, который прослушивает ответ на команды от сервера
  2. Вы можете использовать signalR на стороне приложенияи подключите службу и приложение, используя это
  3. Вы также можете использовать общую память или может быть файлом, который создается / записывается службой, когда что-то есть для приложения, или также может использовать базу данных
...