理想情况下,我想在 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/