.net2.0,如何获取页面执行时间?就像搜索引擎那样的.
解决方案 »
- 关于 方法 不起效的问题
- 关于JS表单问题
- 获取HTML代码报404错误
- asp.net能不能内嵌excel表格&&excel柱状图
- 没分了,但是问题还多!希望大家别不理我呀!
- webdiyer(陕北吴旗娃)的分页控件 如何使用
- asp.net 如何实现用sybase ase obdc driver这种驱动与sybase数据库连接
- 如何获得页面里同一类型的所有控件?
- 分享一段经典的oracle分页存储过程
- 高分求教啦! IE客户端侦测连接状态,掉线和再次连通时给消息,希望用JavaScript脚本实现.
- 怎么从服务器下载文件
- 求一条判断是否为int或float型的js脚本或者C#方法。。。谢谢
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Runtime.InteropServices;
/// <summary>
/// GetTimerClass 的摘要说明
/// </summary>
public class GetTimerClass
{
public GetTimerClass()
{
//
// TODO: 在此处添加构造函数逻辑
//
} [DllImport("kernel32.dll")]
static extern bool QueryPerformanceCounter([In, Out] ref long lpPerformanceCount);
[DllImport("kernel32.dll")]
static extern bool QueryPerformanceFrequency([In, Out] ref long lpFrequency); static long _f = 0; static public long GetTickCount()
{
long f = _f; if (f == 0)
{
if (QueryPerformanceFrequency(ref f))
{
_f = f;
}
else
{
_f = -1;
}
}
if (f == -1)
{
return Environment.TickCount * 10000;
}
long c = 0;
QueryPerformanceCounter(ref c);
return (long)(((double)c) * 1000 * 10000 / ((double)f));
} //GetTickCount()为0时的DateTime.Ticks值
static long _tc = 0; //这个返回的不是真正的精确时间,但时间与时间的差是精确的。
//GetExactNow与DateTime.Now的偏差比DateTime.Now的精度还要小,所以该偏差
static public DateTime GetExactNow()
{
if (_tc == 0)
{
long tc = GetTickCount();
DateTime dt = DateTime.Now;
_tc = dt.Ticks - tc;
return dt;
} return new DateTime(_tc + GetTickCount());
}
}
//Global.asax
void Application_BeginRequest(Object sender, EventArgs e)
{
Utility.Login();
Context.Items["BeginRequestTickCount"] = GetTimerClass.GetTickCount();
//string img = @"<div id=img style=position:absolute;><img src=images/xxx.gif border=1></div>";
//System.Web.HttpContext.Current.Response.Write(img); }页面执行时间:<%=new TimeSpan(GetTimerClass.GetTickCount() - (long)Context.Items["BeginRequestTickCount"]).TotalMilliseconds%>
//........执行长时间的代码DateTime EndTime = DateTime.Now;
this.lblInfo.Text = 共执行 " + EndTime.Subtract(BeginTime) + "!";