0

我有一个 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');

4

1 回答 1

1

你可以有不同的方法来做到这一点

  1. 您可以使用 TCP 端口,该端口正在侦听来自服务器的命令回复
  2. 您可以在应用程序端使用 signalR 并使用它连接服务和应用程序
  3. 您还可以使用共享内存,或者可以是当应用程序存在某些内容时由服务创建/写入的文件,或者也可以使用数据库
于 2019-10-28T13:22:57.197 回答