asp.net页面加载时间计算方案
protected DateTime dt;
protected void Page_Load(object sender, EventArgs e)
{
}
protected override void OnPreInit(EventArgs e)
{
dt = DateTime.Now;
base.OnPreInit(e);
}
protected override void OnLoadComplete(EventArgs e)
{
base.OnLoadComplete(e);
TimeSpan ts = DateTime.Now - dt;
Response.Write("加载页面用时:" + ts.TotalMilliseconds);
}
引自:
To achieve something "good enough" for most purposes, you can add something like the following to your base page class or master page:
DateTime startTime = DateTime.Now;
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
this.LoadTime.Text = (DateTime.Now - startTime).TotalMilliseconds.ToString();
this.ServerTime.Text = DateTime.Now.ToString();
}
This example is from a master page that includes the following in its markup:
<div id="footer">Load Time: <asp:Literal runat="server" ID="LoadTime" /> ms<br />
Server Time: <asp:Literal runat="server" ID="ServerTime" /><br />
This approach doesn't include some of the time spent on rendering logic, but does include everything else the page is doing, such as expensive calls to web services, the file system, or the database, and so it does a good job of showing whether or not changes to such access are improving the overall page load time (or not).