我有一个非常具体的问题,我会尽力解释。我使用的是Windows窗体,webbrowser,多线程和小提琴。
我的应用程序在多个线程中执行不同的表单。每个表单上都有一个webbrowser,它与其他表单上的其他webbrowser同时运行。 他们每个人都使用fiddlercore,其中一些导航到同一个网站,搜索一些信息。
在fiddlercore代码中,我使用事件FiddlerApplication_AfterSessionComplete来捕获来自网站(在每个webbrowsers上)的所有流量。
主要的问题是,提琴手并没有区分我导航的哪个主题,所以有时它会将应该在另一个主题上的信息转换为以下形式的信息:导航到同一页面,但搜索其他内容。
所以,我真正需要的是一种检查我从fiddler获得的Session是否与从该特定表单启动的相同的方法。
如果您需要,我可以发布一些代码,但我认为它实际上并不是必需的。
我感谢任何帮助。
答案 0 :(得分:1)
我不知道fiddlercore,但是来自 FiddlerApplication_AfterSessionComplete 的文档应该是 Fiddler.Session 对象,其 oRequest 属性类型为 ClientChatter 即可。 ClientChatter具有标题属性
所以我的建议是在请求中添加一个带有唯一标识符(线程号.. guid ..)的自定义标头,并在触发FiddlerApplication_AfterSessionComplete以匹配请求/响应时检查此标头。