我试图获取更多有关当我连接到比 HttpWebRequest 和 HttpWebResponse 给我的级别更低的网站时发生的情况的信息。我正在使用 C#。
我希望能够查看有关 dns 查找以及建立连接所需时间的信息(如果建立了新连接)。 HttpWebRequest 和 HttpWebResponse 的工作级别比这更高,我想问是否有办法获取底层 TcpClient 对象(或它们使用的任何低级别对象)。
如果不可能,那么有没有一种方法可以获取和操作 .net 维护的连接列表,而无需通过 HttpWebRequest 或 HttpWebResponse 获取它?
我无法更改我正在开发的应用程序以使用 TcpClient,因为可靠地实现所有 http 内容会太耗时。
我能为您提供的最好方法是创建一个包含以下信息的 app.config 文件:
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<system.diagnostics>
<trace autoflush="true" />
<sources>
<source name="System.Net" maxdatasize="1024">
<listeners>
<add name="MyTraceFile"/>
</listeners>
</source>
<source name="System.Net.Sockets" maxdatasize="1024">
<listeners>
<add name="MyTraceFile"/>
</listeners>
</source>
</sources>
<sharedListeners>
<add
name="MyTraceFile"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="System.Net.trace.log"
/>
</sharedListeners>
<switches>
<add name="System.Net" value="Verbose" />
<add name="System.Net.Sockets" value="Verbose" />
</switches>
</system.diagnostics>
</configuration>
这将启用跟踪并在应用程序文件夹中删除名为“System.Net.trace.log”的日志文件。您不会获得您正在寻找的所有信息,并且在应用程序运行时不容易使用这些信息,但至少您不需要运行第三方程序。它没有太多记录,但有一些信息至少在那里。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)