【发布时间】:2011-09-23 13:01:00
【问题描述】:
我正在使用一个应用程序,它每分钟向不同的 URI 发送数百个 HTTP 请求。有没有办法监控应用程序创建的连接?我发现 ServicePointManager 非常适合检查特定域,但它需要一个 URI 来缩小范围。 如果ServicePointManager 公开当前正在建立的所有连接及其并发连接数的列表,我的问题将得到解决。
Uri uri = new Uri("http://www.google.com");
ServicePoint sp = ServicePointManager.FindServicePoint(uri);
我为什么要这样做?我正在尝试诊断有 30 秒完成并返回简单 JSON 的请求的超时异常。 (并非每次请求都会发生超时)似乎不应该有超时的原因。也许我的可用连接已经用完了,因为我已经超过了 ServicePointManager 提供的 96 个,这就是我的瓶颈。虽然不太可能,但这是我现在唯一能想到的。有什么建议吗?
【问题讨论】:
-
发送 HTTP 请求的应用程序是您拥有代码的应用程序吗?你试过fiddler之类的网络监控工具吗?
-
您能否发布创建 http 请求的代码。如果您正在创建它们,有一种方法可以从那里跟踪它们。
-
还要考虑如果你不重用连接你可能会在 TIME_WAIT msdn:Avoiding TCP/IP Port Exhaustion987654322@
-
好点。感谢制作
标签: c# asp.net visual-studio-2010 httprequest servicepoint