c# - 如何确定哪个 Windows Communication Foundation 服务正在使用给定端口?

标签 c# windows wcf tcplistener netstat

理想情况下,我想在 C# 内部执行此操作,因此我包含 C# 标记。

我有几个正在运行的 Window Communication Foundation 服务,并使用 System.ServiceModel.ServiceHost 打开 TCP 端口(每个端口一个)。我有正在使用的端口号的列表,但我想使用正在运行的服务将端口号映射到可执行文件。

我尝试使用 netstat、TCPView 和其他一些我发现的类似工具来搜索此解决方案,但没有显示我的进程,我能得到的最接近的是系统(PID 4)。

所有这些都是 Windows WCF 服务,按预期运行,并且确实显示在 netstat 和 TCPView 中(按端口号),但只能提供“系统”作为进程。

代码由几个不同的部门管理,因此我不认为通用接口(interface)方法是有效的解决方案。我确实拥有机器的完全管理员权限。

最佳答案

WCF 提供 WMI interface for diagnostics您应该能够使用它来将 WCF 服务端口与特定进程关联起来。特别是Service类看起来很有前途。

(请随意在此处附加您所讨论的示例代码,或将其作为另一个答案发布。)

关于c# - 如何确定哪个 Windows Communication Foundation 服务正在使用给定端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15080554/

相关文章:

windows - 是什么导致桌面盾牌图标覆盖在 *SOME* 桌面上

windows - 由于证书服务器证书未使用 HTTP.SYS 正确配置而导致的 SSL 定期崩溃

c# - Task<T> 卡住 UI 线程

c# - 使用 FileSavePicker 写入文件

c# - 使用 UseWindowsAzureActiveDirectoryBearerAuthentication 从 Azure 使用 Id_token

asp.net - 通过 WCF 访问数据集而不序列化整个数据?

c# - WCF 异常 IErrorHandler 未被调用

c# - For 循环和 DateTime 问题

windows - 带变量的嵌套 FOR

windows - 与 bash 的 exec() 等效的 PowerShell 是什么?