无法在Fiddler中显示netTcpBinding请求

我有一个有两个端点的WCF服务。 一个使用basicHttpBinding,另一个使用netTcpBinding。 这是我的配置……

      

但是,当我使用该服务时,我试图比较两个请求之间的差异。 所以我正在运行小提琴手来做这件事。 我可以在Fiddler中看到basicHttpBinding请求,但我无法显示net.tcp://请求。 我该怎么做才能看到这种流量?

Fiddler是一个HTTP代理,因此它只捕获使用HTTP协议的请求 – 它不会直接捕获使用套接字发出的请求。 您可以使用网络监视器或其他一些低级捕获工具来执行此操作,但界面不如您可能习惯使用Fiddler的界面。

另外,正如Ladislav Mrnka的另一个答案所指出的,你将会看到.NET消息框架和二进制XML编码的二进制字节,所以除非你熟悉它们,否则大多数捕获看起来都会像乱码。

Fiddler是HTTP嗅探器而不是TCP嗅探器。 您只能在fiddler中看到HTTP和HTTPS通信。 如果要查看通过TCP传递的消息,则必须使用另一个在较低级别上工作的工具。 例如WireShark,但要准备好你只会看到一些二进制数据。

Fiddler是一个HTTP调试器。 如果您没有使用HTTP,例如使用netTcpBinding,则无法使用它捕获流量。 你可以尝试Wireshark或类似的东西。

如果您对实际消息的外观感兴趣,请尝试使用服务跟踪。

https://msdn.microsoft.com/en-us/library/ms732023%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396