我正在尝试调试从 .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 - 我不完全明白发生了什么,我会继续关注它。
最佳答案
在 v5.6 中,AsyncServiceClient 使用在 ServiceClient 上配置的代理,而以前它没有。但即使未配置代理,它也会使用代理,这看起来会导致此问题,将其设置为 null
似乎会取消设置 Web.config 中的代理配置。
如果在 this commit 中配置了代理,我将其更改为仅使用代理.
此更改适用于 v5.6.1,现在为 available on MyGet .
关于c# - Fiddler 不捕获带有 "GetAsync"的流量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57872252/