Как я могу получить начальную временную метку запроса страницы, когда запрос страницы начинается в .NET Asp MVC? - PullRequest
1 голос
/ 23 февраля 2012

Как я могу получить начальную временную метку запроса страницы, когда запрос страницы начинается в .NET Asp MVC?Я хотел бы сравнить эту метку времени с началом действия, а затем снова в качестве OnActionExecuted и посмотреть, где в конвейере мое приложение тратит время, прежде чем оно начинает отвечать элементом «head», которое оно выполняет одновременно, пока моделируетзапросы данных обрабатываются.Есть предложения?

1 Ответ

2 голосов
/ 18 мая 2013

Вы подписываетесь на Application_BeginRequest в своем Global.asax, вы помещаете текущую временную метку в 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;
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...