Fiddler不能使用“ GetAsync”捕获流量

时间:2019-09-10 13:48:29

标签: c# servicestack fiddler visual-studio-2019

我正在尝试从.net 472应用程序调试对ServiceStack Web服务的调用。在我针对相同服务的其他应用程序中检查流量时,Fiddler一直是显而易见的选择。

奇怪的是,使用JsonServiceClient的 GetAsync()方法时,我无法让Fiddler捕获任何流量。该调用将按预期返回数据而不会出现问题,只是未在Fiddler中进行跟踪:

var response = await client.GetAsync(new AroCodesRequest()); 

但是,如果我使用 Get()方法,Fiddler会按预期捕获流量:

var response = client.Get(new AroCodesRequest()); 

(编辑)将以下内容添加到App.config中无济于事:

  <system.net>
    <defaultProxy>
      <proxy proxyaddress="http://127.0.0.1:8888" bypassonlocal="False" />
    </defaultProxy>
  </system.net>

我已将Fiddler置于故障排除模式,仍然没有运气。我一直无法在Google / SO上找到很多有用的信息,我怀疑我可能根本没有问正确的问题。

更新 从ServiceStack 5.6.0降级到5.5.0导致Fiddler再次捕获流量。我猜它与5.6.0发行说明中的​​这一行有关-https://docs.servicestack.net/releases/v5.6#service-clients-async-webproxy-我不完全了解发生了什么,我将继续研究它。

1 个答案:

答案 0 :(得分:1)

在v5.6中,AsyncServiceClient使用在ServiceClient上配置的代理,以前没有使用。但是,即使未配置代理服务器,它也使用了代理服务器,这似乎会导致此问题,将其设置为null似乎会取消Web.config中的代理服务器配置。

我将其更改为仅在this commit中配置了代理的情况下使用代理。

此更改可从v5.6.1(现在为available on MyGet)中获得。