我在网络服务中有窗口服务。我以编程方式从Web服务启动了窗口服务。我的问题是如何在web service.code中接收该窗口服务的结果以启动窗口服务
ServiceController[] services = ServiceController.GetServices();
ServiceController service = null;
foreach (ServiceController Item in services)
{
if (Item.DisplayName == "Service1")
{
service = new ServiceController("Service1");
TimeSpan timeout = TimeSpan.FromHours(24);
service.Start();
service.WaitForStatus(ServiceControllerStatus.Running, timeout);
break;
}
}
此服务将调用函数Execute(),并在执行后返回一个字符串。如何在Web服务中接收该字符串
答案 0 :(得分:0)
简短回答
你不能。
答案很长
以这种方式启动的Windows服务正在app域中运行,这些域与运行Web服务的域完全隔离。它们也是相互隔离的。
为了了解这些Windows服务的内部状态,您需要让它们实现某种远程处理机制(如Web服务)或让服务写入某些物理资源(如文件或数据库)。