2011-09-23 100 views
3

我正在使用一个应用程序,每分钟向不同的URI发送数百个HTTP请求。有什么方法可以监视应用程序创建的连接吗?我发现ServicePointManager非常适合检查特定的域,但它需要一个URI来缩小范围。 如果ServicePointManager公开了当前正在进行的所有连接及其并发连接计数的列表,我的问题将得到解决。ServicePointManager监控HTTP请求

Uri uri = new Uri("http://www.google.com"); 
    ServicePoint sp = ServicePointManager.FindServicePoint(uri); 

为什么我要这么做?我正在尝试诊断有30秒完成并返回简单JSON的请求的超时异常。 (每次请求都不会发生超时)看起来不应该有超时的原因。也许我缺少可用的连接,因为我已经超过了从ServicePointManager获得的96,这是我的瓶颈。虽然不太可能,但这是我现在唯一可以提出的。建议?

+0

是发送HTTP应用程序请求你的代码的东西?你有没有尝试像提琴手一样的网络监控工具? – Jay

+0

你可以发布创建http请求的代码吗?如果你正在创建它们,有一种方法可以从那里跟踪它们。 – Jay

+0

另外考虑如果你没有重用连接,你可能会在TIME_WAIT [msdn:避免TCP/IP端口耗尽](https://msdn.microsoft.com/en-us/library/aa560610(v = bts.20).aspx) – KCD

回答