ServiceProcess.ServiceController如何工作?

时间:2012-11-26 18:24:03

标签: c# .net api service windows-services

设置:

我们有2台服务器。它们位于不同的子网上,但仍可以相互通信。

问题:

服务器1用于通过ServiceController.Status呼叫成功查询服务器2的服务,直到我们的IT人员收紧两个子网之间的防火墙(我们失去了对服务器2的RDP访问和来自服务器1的ServiceController.Status呼叫到服务器2开始失败)。

IT已经放宽了防火墙(因此RDP到服务器2现在可以正常工作),但我们的ServiceController.Status调用仍然失败(错误是:无法打开计算机上的服务控制管理器

问题:

ServiceProcess.ServiceController如何执行它的任务?在做它的工作时它是否使用特殊的TCP端口?

我怀疑防火墙阻止远程访问服务器2上的服务控制器,因此我想告诉我们的IT员工我们需要打开哪些端口。

我看过the MSDN page,但我无法找到我需要的东西。

1 个答案:

答案 0 :(得分:3)

查看此TechNet文章:http://technet.microsoft.com/en-us/library/cc738291(v=ws.10).aspx#w2k3tr_rpc_how_vfae。它包含一个可以由RPC使用的协议及其相关套接字端口的表,.NET ServiceController类依赖它。您的IT员工可能会在他们的活力中关闭一个或多个这些端口(有些端口比其他端口更重要,具体取决于可用的其他选项),使RPC无法运行。