0
如何在.NET Asp MVC中开始页面请求时获取页面请求的初始时间戳?我想比较Timestamp到一个Action的开始,然后再次作为OnActionExecuted,看看我的应用程序在开始响应“head”元素之前花费的时间在哪里,它同时执行模型和数据请求正在处理中。有什么建议么?如何在.NET Asp MVC中开始页面请求时获取页面请求的初始时间戳?
如何在.NET Asp MVC中开始页面请求时获取页面请求的初始时间戳?我想比较Timestamp到一个Action的开始,然后再次作为OnActionExecuted,看看我的应用程序在开始响应“head”元素之前花费的时间在哪里,它同时执行模型和数据请求正在处理中。有什么建议么?如何在.NET Asp MVC中开始页面请求时获取页面请求的初始时间戳?
你在你的Global.asax订阅Application_BeginRequest
,你把当前时间戳到的HttpContext,然后里面你OnActionExecuted
或任何你检索的HttpContext此时间戳,计算新的时间戳和进行减法:
Global.asax中:
protected void Application_BeginRequest(object sender, EventArgs e)
{
this.Context.Items["timestamp"] = DateTime.UtcNow;
}
OnActionExecuted:
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
DateTime initial = (DateTime)filterContext.HttpContext.Items["timestamp"];
DateTime current = DateTime.UtcNow;
long totalMilliseconds = (long)(current - initial).TotalMilliseconds;
...
}
看起来像的复制品http://stackoverflow.co m/questions/148384/how-do-i-inspect-the-asp-net-request-pipeline – 2012-02-22 22:32:43
谢谢,这绝对有用,之前我曾经使用过,但之后就被遗忘了。但是,我期待在.NET接管之前,在HttpModules之前获得时序,然后通过模块进行计时,然后在执行Action时进行计时。这应该给我一个想法,如果在管道中的任何HttpModules是造成问题。我在思考一个isapi过滤方法 - 在做了更多的研究之后。 – lucidquiet 2012-02-23 07:54:04
在这种情况下,您的问题与Web服务器有关,而不是.net技术。 – 2012-02-23 22:23:32