我正在尝试在c#中创建代码,以查找网站加载所需的时间。 (不在特定的Web浏览器中。) 谁能帮我? 感谢
答案 0 :(得分:2)
如果您只想记录获取基本页面源所需的时间,可以将HttpWebRequest
包裹在stopwatch
左右。 E.g。
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address);
System.Diagnostics.Stopwatch timer = new Stopwatch();
timer.Start();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
timer.Stop();
TimeSpan timeTaken = timer.Elapsed;
但是,这不会考虑下载额外内容的时间,例如图像。你将不得不深入挖掘这个问题并且问题没有代码所以我不能再指导你了。但是,如果你只想要带有简约代码的源代码,那么这个例子将会很好用。
如果您启用跟踪
,也可以记录所有这些信息
如果您可以控制ASP.NET页面,则可以启用Trace。在那里,您将获得有关页面生命周期(包括时间戳)和其他有用的性能分析信息的大量信息。
在aspx文件顶部的Page指令中打开页面的跟踪:
<%@ Page Trace="true" %>
或动态代码:
Trace.IsEnabled = true;
或者在应用程序中全局设置web.config:
<configuration>
<system.web>
<trace enabled="true" requestLimit="40" localOnly="false"/>
</system.web>
</configuration>
然后,您可以使用Microsoft's LogParser之类的工具或其他任何工具来读取xml跟踪文件。您也可以在代码中使用trace listeners。只是另一种想法:)