Fiddler不显示OData Http请求,其中方法是PATCH / MERGE,DELETE

时间:2014-09-02 01:43:30

标签: odata fiddler

我正在使用MVC Web Api OData v4服务器开发Win8 Store应用程序。

我已经设置了一个Win 8单元测试客户端项目来调试对OData服务器的OData Http请求,我正在使用Fiddler v4.4.9.3来监控Http流量。服务器和客户端都在本地计算机上运行,​​客户端服务uri设置为localhost.fiddler:xxxx

我能够在Fiddler网络会话中看到所有GET和POST请求,但是没有出现来自客户端的PATCH / MERGE和DELETE请求! (它们肯定存在,因为它们的服务器控制器方法执行。)

但是,当我在Fiddler编辑器中创建并执行PATCH / MERGE和DELETE请求时,它们会出现在Web会话中。

我已检查过滤器,规则,脚本,未安装和重新安装的Fiddler,遵循Fiddler not displaying sessions等处的建议但无济于事。

有谁知道问题可能是什么?

2 个答案:

答案 0 :(得分:4)

如果您使用的是OData客户端库,则需要这样做。当您尝试从客户端更新/删除实体时,客户端会从您先前检索的有效内容中加载URL。那些网址没有" .fiddler"在其中,Fiddler无法捕获它们。

例如,您想要更新Product对象。通常你必须先查询对象。在对象中,存储了某种方式的编辑链接。编辑链接是一个URL(当然没有" .fiddler")。稍后,当您尝试更新产品对象时,客户端会将PUT / PATCH请求发送到编辑链接。

答案 1 :(得分:0)

如果您点击Troubleshoot Filters并且未显示流量,则表示该流量未发送给Fiddler。这可能是客户端堆栈中的错误,虽然调用应该失败,因为localhost.fiddler仅在流量通过Fiddler时才有意义;否则会导致连接失败。