Аватар для ayrat_net
84 / 84 / 12
Регистрация: 12.01.2011
Сообщений: 1,049

Время загрузки страницы

05.08.2012, 06:35. Показов 4179. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В нете нашел код, которая определяет в течении какого времени загружается страница. Сделал так чтобы она срабатывала для любой страницы, то есть вызываю её с Global. В общем код толком не разбирал, но перед реализацией возник вопрос, как использовать циферку времени, в моём случаи миллисекунды. Если результат должен возвратится после окончания загрузки страницы, то есть по сути в контрол его не поместить ведь по сути она должна сработать когда загрузка закончится ...

в общем выглядит код следующим образом:

вот сам класс, который я создал в файле в корне:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class OpenPageTime: ActionFilterAttribute
    {
        private Stopwatch watch;
 
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            watch = new Stopwatch();
            watch.Start();
            base.OnActionExecuting(filterContext);
        }
 
        public override void OnResultExecuted(ResultExecutedContext filterContext)
        {
            watch.Stop();
 
            filterContext.HttpContext.Response.Write(string.Format("Прошло {0} мс.", watch.ElapsedMilliseconds));
 
            base.OnResultExecuted(filterContext);
        }
    }
Global.asax

C#
1
2
3
4
5
6
7
8
9
protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
 
            GlobalFilters.Filters.Add(new OpenPageTime()); // смотрим сюда
 
            RegisterGlobalFilters(GlobalFilters.Filters);
            RegisterRoutes(RouteTable.Routes);
        }

В общем нужно чтобы я полученную циферку мог засунуть в любую часть страницы и визуализировать.
В общем главная проблема в визуализации - эта цифорка будет располагаться в _Layout только вот как сделать это?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.08.2012, 06:35
Ответы с готовыми решениями:

Индикация во время загрузки страницы
Всем привет! Уже несколько дней бьюсь над одной проблемой. Допустим есть страница входа, пользователь вводит свой логин и пароль...

Побочный эффект отложенной загрузки страницы (браузер перебрасывает пользователя в начало страницы)
День добрый! Имеется ASP.NET страница, для ускорения загрузки на ней используется отложенная загрузка. На UpdatePanel'и две asp:Panel'и, ...

Время загрузки страницы
Как учитывать пинг сервера при измерении времени загрузки веб-страницы ? И как это время лучше измерять ?

7
42 / 42 / 6
Регистрация: 13.06.2011
Сообщений: 55
05.08.2012, 11:08
Вместо строчки
Цитата Сообщение от ayrat_net Посмотреть сообщение
filterContext.HttpContext.Response.Write (string.Format("Прошло {0} мс.", watch.ElapsedMilliseconds));
используй
C#
1
ViewBag.LoadPageTime = string.Format("Прошло {0} мс.", watch.ElapsedMilliseconds);
Далее в _Layout в нужном месте выводи, к примеру
HTML5
1
<h3>@ViewBag.LoadPageTime</h3>
1
 Аватар для ayrat_net
84 / 84 / 12
Регистрация: 12.01.2011
Сообщений: 1,049
05.08.2012, 11:37  [ТС]
Если не ошибаюсь ViewBag должен использоваться в контролере. А как мне присваивать значение, если мне нужно чтобы выполнился контролер полностью, да и просто так watch.ElapsedMilliseconds в контролер не вставить нужно чтобы функции Старта и финиша отработали и уже на их основе выводить результат. Или я что-то недопонял?
0
CEO
Эксперт С++
 Аватар для Alligieri
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
05.08.2012, 12:01
ayrat_net, а чем встроенные средства трассировки не подходят? они выводят развернутый отчет, довольно удобно.
0
42 / 42 / 6
Регистрация: 13.06.2011
Сообщений: 55
05.08.2012, 12:06
Цитата Сообщение от ayrat_net Посмотреть сообщение
Или я что-то недопонял?
Все правильно ты понял. Это я ошибся. Правильным будет не ViewBag.LoadPageTime, а
C#
1
filterContext.Controller.ViewBag.LoadPageTime = string.Format("Прошло {0} мс.", watch.ElapsedMilliseconds);
Пробуй, должно получиться.
1
 Аватар для ayrat_net
84 / 84 / 12
Регистрация: 12.01.2011
Сообщений: 1,049
05.08.2012, 12:23  [ТС]
C#
1
2
3
4
5
6
7
8
        public override void OnResultExecuted(ResultExecutedContext filterContext)
        {
            watch.Stop();
 
            filterContext.Controller.ViewBag.LoadPageTime = string.Format("Прошло {0} мс.", watch.ElapsedMilliseconds);
 
            base.OnResultExecuted(filterContext);
        }
Не срабатывает при запросе во вью через @ViewBag.LoadPageTime ничего не выводит, хотя ошибку не выдает, а это уже прогресс
0
 Аватар для Грифин
8 / 8 / 3
Регистрация: 15.08.2009
Сообщений: 132
05.08.2012, 15:20
Цитата Сообщение от ayrat_net Посмотреть сообщение
Не срабатывает при запросе во вью через @ViewBag.LoadPageTime ничего не выводит, хотя ошибку не выдает, а это уже прогресс
Попробуйте не использовать ViewBag, а использовать TempData
1
42 / 42 / 6
Регистрация: 13.06.2011
Сообщений: 55
05.08.2012, 17:20
Цитата Сообщение от ayrat_net Посмотреть сообщение
Не срабатывает при запросе во вью через @ViewBag.LoadPageTime ничего не выводит, хотя ошибку не выдает, а это уже прогресс
Покажите код контроллера и вьюхи.
Еще попробуйте убрать base.OnResultExecuted(filterContext);
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.08.2012, 17:20
Помогаю со студенческими работами здесь

После обновления страницы на время съезжают картинки, после полной загрузки страницы все восстанавливается
Помогите разобраться.. не пойму, из-за чего съезжают картинки услуг в две колонки.. после полной загрузки, становится все на место... сайт...

Баги во время загрузки страницы
На сайте которым я занимаюсь во время загрузки происходит баг. Сначала отображается канистра (бочка, если имеем дело с бочками в каталоге),...

Выполнение js кода во время загрузки страницы
Всем привет, есть некая функция необходимо что бы она отрабатывала во время загрузки страницы, как это реализовать? У меня просто...

Подсчёт общего время загрузки страницы
Здравствуйте форумчане... Вот столкнулся с проблемой... Подскажите пожалуйста, как написать, или где можно найти уже готовый скрипт...

Добавить анимацию во время загрузки страницы
подскажите пожалуйста как сделать загрузку страницы, при нажатии кнопки у меня долго открывается страница и по этому я хочу сделать при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

Новые блоги и статьи
Настройка гиперпараметров с помощью Grid Search и Random Search в Python
AI_Generated 15.05.2025
В машинном обучении существует фундаментальное разделение между параметрами и гиперпараметрами моделей. Если параметры – это те величины, которые алгоритм "изучает" непосредственно из данных (веса. . .
Сериализация и десериализация данных на Python
py-thonny 15.05.2025
Сериализация — это своего рода "замораживание" объектов. Вы берёте живой, динамический объект из памяти и превращаете его в статичную строку или поток байтов. А десериализация выполняет обратный. . .
Чем асинхронная логика (схемотехника) лучше тактируемой, как я думаю, что помимо энергоэффективности - ещё и безопасность.
Hrethgir 14.05.2025
Помимо огромного плюса в энергоэффективности, асинхронная логика - тотальный контроль над каждым совершённым тактом, а значит - безусловная безопасность, где безконтрольно не совершится ни одного. . .
Многопоточные приложения на C++
bytestream 14.05.2025
C++ всегда был языком, тесно работающим с железом, и потому особеннно эффективным для многопоточного программирования. Стандарт C++11 произвёл революцию, добавив в язык нативную поддержку потоков,. . .
Stack, Queue и Hashtable в C#
UnmanagedCoder 14.05.2025
Каждый опытный разработчик наверняка сталкивался с ситуацией, когда невинный на первый взгляд List<T> превращался в узкое горлышко всего приложения. Причина проста: универсальность – это прекрасно,. . .
Как использовать OAuth2 со Spring Security в Java
Javaican 14.05.2025
Протокол OAuth2 часто путают с механизмами аутентификации, хотя по сути это протокол авторизации. Представьте, что вместо передачи ключей от всего дома вашему другу, который пришёл полить цветы, вы. . .
Анализ текста на Python с NLTK и Spacy
AI_Generated 14.05.2025
NLTK, старожил в мире обработки естественного языка на Python, содержит богатейшую коллекцию алгоритмов и готовых моделей. Эта библиотека отлично подходит для образовательных целей и. . .
Реализация DI в PHP
Jason-Webb 13.05.2025
Когда я начинал писать свой первый крупный PHP-проект, моя архитектура напоминала запутаный клубок спагетти. Классы создавали другие классы внутри себя, зависимости жостко прописывались в коде, а о. . .
Обработка изображений в реальном времени на C# с OpenCV
stackOverflow 13.05.2025
Объединение библиотеки компьютерного зрения OpenCV с современным языком программирования C# создаёт симбиоз, который открывает доступ к впечатляющему набору возможностей. Ключевое преимущество этого. . .
POCO, ACE, Loki и другие продвинутые C++ библиотеки
NullReferenced 13.05.2025
В C++ разработки существует такое обилие библиотек, что порой кажется, будто ты заблудился в дремучем лесу. И среди этого многообразия POCO (Portable Components) – как маяк для тех, кто ищет. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru