FiddlerCore - 多线程网络浏览器,获得相同的会话



我有一个非常具体的问题,我会尽力解释。我正在使用Windows表单,带有Web浏览器,多线程和小提琴手。

我的应用程序在多个线程中执行不同的表单。每个表单上都有一个 Web 浏览器,它与其他表单上的其他 Web 浏览器同时运行。他们每个人都使用提琴手核心,其中一些导航到同一个网站,搜索一些信息。

在 fiddlercore 代码中,我使用事件FiddlerApplication_AfterSessionComplete来捕获来自网站的所有流量(在每个网络浏览器上)。

主要问题是小提琴手无法区分我正在导航的线程,因此有时它会将应该在另一个线程上的信息带到导航到同一页面但搜索其他内容的表单中。

因此,我真正需要的是一种方法来检查我从小提琴手那里获得的会话是否与从该特定表单启动的会话相同。

如果你需要,我可以发布一些代码,但我认为这实际上没有必要。

我感谢任何帮助。

我不知道fiddlercore,但从文档中FiddlerApplication_AfterSessionComplete应该是一个Fiddler.Session对象,具有ClientChatter类型的oRequest属性。ClientChatter 有一个标头属性,

所以我的建议是在请求中添加一个具有唯一标识符(线程编号.. guid...)的自定义标头,并在触发FiddlerApplication_AfterSessionComplete以匹配请求/响应时检查此标头。