【发布时间】:2011-06-02 22:20:58
【问题描述】:
当我连接到比 HttpWebRequest 和 HttpWebResponse 给我的级别更低的网站时,我正在尝试获取有关正在发生的事情的更多信息。我正在使用 C#。
我希望能够查看有关 dns 查找的信息以及建立连接所需的时间(如果建立了新连接)。 HttpWebRequest 和 HttpWebResponse 在比这更高的级别上工作,我想问是否有办法获取底层 TcpClient 对象(或他们使用的任何低级别对象)。
如果不可能,那么有没有办法在不通过 HttpWebRequest 或 HttpWebResponse 的情况下获取和操作 .net 维护的连接列表?
我无法更改我正在开发的应用程序以使用 TcpClient,因为可靠地实现所有 http 内容太耗时。
【问题讨论】:
-
不确定“TcpClient”,但我确定他们使用“Socket”类,所以请寻找它。此外,当您断点和调试时,您指向对象,甚至可以看到它们的私有成员。这应该会给你一些方向。
-
我没想过要看看私人会员,谢谢。不幸的是,我找不到太多。我确实看到 ServicePoint 有一个名为 LastDnsResolve 的非公共变量,我假设它保存了最后一次 DNS 解析的时间。我也许可以用它来解决我的一小部分问题。
标签: c# .net httpwebrequest tcpclient