Я знаком с использованием HttpModule для запросов времени, но на самом деле они не подключаются к системе представления ASP.NET MVC. Можно ли это сделать, запустив таймер где-нибудь в global.asax, а затем получив доступ к нему в _layout.cshtml?Как вы можете запросить время с помощью ASP.NET MVC?
3
A
ответ
3
1) Вы можете проверить время начала и время завершения запроса в событиях Begin_Request и End_Request класса приложения 2) Вы можете определить пользовательский HttpModule . 3) Вы можете определить пользовательский атрибут следующим образом:
public class RequestTimerAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
//Mark the Start Time
MarkTime("Start");
}
public override void OnResultExecuted(ResultExecutedContext filterContext)
{
//Mark the Start Time
MarkTime("End");
}
void MarkTime(string EventName)
{
//Handle the logic here to log the time
}
}
1
Я использую Initialize
метод контроллера, чтобы установить флаг в HttpContext.Items
:
HttpContext.Items["StartTime"] = DateTime.Now;
Затем распечатать его на вашем взгляде, или там, где:
<%
// We only set this in DEBUG builds
var startTime = HttpContext.Current.Items["StartTime"] as DateTime?
if(startTime.HasValue)
{ %>
<%=(DateTime.Now - startTime.Value).TotalSeconds.ToString("0.00000")%> seconds
<%
}
%>
+0
@downvoter Что-то не в порядке с этим кодом? – kevingessner
Смежные вопросы
- 1. Как вы можете тестировать веб-страницу с помощью ASP.NET MVC?
- 2. Можете ли вы преобразовать приложение ASP.NET MVC на веб-сайт с помощью ASP.NET MVC и с какими проблемами можете столкнуться?
- 3. Как вы можете проверить флажки в ASP.NET MVC?
- 4. то, что вы можете запросить с помощью класса ManagementEventWatcher
- 5. Вы можете запросить контактную информацию из gmail программно из csharp
- 6. Как вы можете получить в asp.net?
- 7. Как вы можете получить «реальный» HttpContext в приложении ASP.NET MVC?
- 8. Как запросить время сервера с помощью ASP.Net/ C#
- 9. asp.net MVC - как вы можете перебрать модели данных в JavaScript
- 10. Можете ли вы запросить «204 без содержания»?
- 11. Как запросить сеанс в ASP.NET MVC с динамическим запросом
- 12. Как вы можете использовать свой сайт asp.net?
- 13. Можете ли вы запросить массив? Laravel 5.2
- 14. Можете ли вы запросить резервное устройство?
- 15. cassandra: можете ли вы запросить поле коллекции?
- 16. AngularJS + ASP.NET MVC - Можете ли вы использовать оба под «/»?
- 17. Как вы можете использовать Active Federation для аутентификации с помощью приложения ASP.NET MVC?
- 18. Можете ли вы запросить представление Sql Server View с PHP?
- 19. Есть ли сайты, которые вы не можете создать с помощью ASP.NET MVC
- 20. ASP.net MVC Можете ли вы перегрузить индекс() HttpPost?
- 21. Можете ли вы создать сайт с ASP.NET MVC Framework с помощью .NET 2.0?
- 22. Можете ли вы удалить время с UIDatePicker?
- 23. Как вы можете тестировать базовый контроллер ASP.NET или объект модели?
- 24. Что вы называете ASP.NET MVC ASP.NET как?
- 25. Можете ли вы использовать JavaScript в качестве встроенных ресурсов с помощью Asp.Net MVC?
- 26. Как вы можете запросить билеты JIRA, разрешенные автоматическими переходами github?
- 27. Можете ли вы установить элементы управления asp.net?
- 28. GWT, ASP.NET, jQuery ... вы можете мне разъяснить?
- 29. Можете ли вы написать пользовательскую функцию агрегации в SQL? Можете ли вы запросить содержимое группы?
- 30. Можете ли вы предотвратить закрытие приложения ASP.NET?
Интересный подход - не знал об этом атрибуте. Можете ли вы вставить HTML (т.е. время выполнения) в текущий ответ от переопределения OnResultsExecuted? –
Не пробовал, что ... Должно быть возможно, я думаю ... – Chandu
Самый чистый способ сделать это - добавить его в ViewData в OnResultExecuting, чтобы его можно было визуализировать с помощью представления. Очевидно, что это не будет включать время рендеринга представления, но в любом случае все, что может потребовать времени, должно быть в контроллере. –