如何从 windows 服务获得答案
How to get answer from windows service
我有一个 windows 服务和一个应该与该服务通信的 NotifyIcon-Applicaiton(系统托盘)。应用程序应发送命令并从提供进一步通信的套接字的服务接收端口。
该服务覆盖了 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');
您可以通过不同的方式做到这一点
- 您可以使用一个 TCP 端口,它正在侦听来自服务器的命令回复
- 您可以在应用程序端使用 signalR 并使用它连接服务和应用程序
- 您也可以使用共享内存,或者可以是一个文件,该文件是 create/written 由服务提供给应用程序的,或者也可以使用数据库
我有一个 windows 服务和一个应该与该服务通信的 NotifyIcon-Applicaiton(系统托盘)。应用程序应发送命令并从提供进一步通信的套接字的服务接收端口。
该服务覆盖了 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');
您可以通过不同的方式做到这一点
- 您可以使用一个 TCP 端口,它正在侦听来自服务器的命令回复
- 您可以在应用程序端使用 signalR 并使用它连接服务和应用程序
- 您也可以使用共享内存,或者可以是一个文件,该文件是 create/written 由服务提供给应用程序的,或者也可以使用数据库