Fiddler不显示OData Http请求,其中方法为修补/合并,删除

Fiddler不显示OData Http请求,其中方法为修补/合并,删除,odata,fiddler,Odata,Fiddler,我正在使用MVC Web Api OData v4服务器开发Win8应用商店应用程序 我已经建立了一个Win 8单元测试客户机项目来调试对OData服务器的OData Http请求,我正在使用Fiddler v4.4.9.3来监控Http流量。服务器和客户端都在本地计算机上运行,并且客户端服务uri设置为localhost。fiddler:xxxx 我能够在Fiddler web会话中看到所有GET和POST请求,但是客户端的补丁/合并和删除请求不会出现!(它们肯定存在,因为它们执行服务器控制器

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

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

我能够在Fiddler web会话中看到所有GET和POST请求,但是客户端的补丁/合并和删除请求不会出现!(它们肯定存在,因为它们执行服务器控制器方法。)

但是,当我在Fiddler composer中创建和执行补丁/合并和删除请求时,它们确实会出现在web会话中

我已经检查了过滤器、规则、脚本、未安装和重新安装的Fiddler,遵循了etc的建议,但没有任何效果


有人知道问题出在哪里吗

如果单击“过滤器疑难解答”,而流量没有出现,则表示流量没有发送到Fiddler。这可能是客户端堆栈中的一个bug,尽管调用应该会失败,因为
localhost.fiddler
只有在流量通过fiddler时才有意义;否则将导致连接失败。

如果单击“疑难解答过滤器”而流量未出现,则表示流量未发送到Fiddler。这可能是客户端堆栈中的一个bug,尽管调用应该会失败,因为
localhost.fiddler
只有在流量通过fiddler时才有意义;否则将导致连接失败。

如果您使用的是OData客户端库,则会出现这种情况。当您尝试从客户端更新/删除实体时,客户端将从您先前检索到的有效负载加载URL。这些URL中没有“.fiddler”,fiddler无法捕获它们


例如,您希望更新产品对象。通常,您必须首先查询对象。在对象中,以某种方式存储了一个编辑链接。编辑链接是一个URL(当然没有“.fiddler”)。稍后,当您尝试更新产品对象时,客户端会向编辑链接发送PUT/PATCH请求。

如果您使用的是OData客户端库,则会出现这种情况。当您尝试从客户端更新/删除实体时,客户端将从您先前检索到的有效负载加载URL。这些URL中没有“.fiddler”,fiddler无法捕获它们


例如,您希望更新产品对象。通常,您必须首先查询对象。在对象中,以某种方式存储了一个编辑链接。编辑链接是一个URL(当然没有“.fiddler”)。稍后,当您尝试更新产品对象时,客户端会向编辑链接发送PUT/PATCH请求。

您是否有机会使用上提供的示例客户端?其中一些拦截odata调用以便在控制台中进行调试,我认为这样做不会通过Fiddler路由,尽管我不能绝对这样说。在运行这些示例客户机时,我注意到了相同的行为。您是否碰巧使用了上提供的示例客户机?其中一些拦截odata调用以便在控制台中进行调试,我认为这样做不会通过Fiddler路由,尽管我不能绝对这样说。我在运行这些示例客户时也注意到了同样的行为。谢谢你的建议Eric。我尝试对过滤器进行故障排除,但修补程序/合并和删除请求仍然没有出现。我还编译了这个项目,并在另一台开发机器上运行了相同的结果。我知道你的观点是关于localhost.fiddler的,但是请求肯定在那里,但没有出现在fiddler会话列表中。谢谢你的建议。我尝试对过滤器进行故障排除,但修补程序/合并和删除请求仍然没有出现。我还编译了这个项目,并在另一台开发机器上运行了相同的结果。我看到您的观点是关于localhost.fiddler的,但请求肯定在那里,但没有出现在fiddler会话列表中。可以通过使用fiddler脚本修改localhost:PPPPP localhost.fiddler:ppppppppp响应体中的odata.context url来纠正此问题。e、 g.在静态函数onbeforesponse(oSession:Session)中,put oSession.utilReplaceInResponse(“localhost:ppppppp”、“localhost.fiddler:ppppppp”)可以通过使用fiddler脚本修改localhost:ppppppppppp localhost.fiddler:ppppppp中响应体中的odata.context url来纠正此问题。e、 g.在静态函数onbeforesponse(oSession:Session)中,放置oSession.utilReplaceInResponse(“localhost:ppppppp”、“localhost.fiddler:ppppppp”)