У нас есть модуль измерения производительности, который использует HttpModule и HttpHandlers и работает следующим образом:
- На сервер поступает запрос на страницу.
- HttpModule_Begin записывает время начала в cookie.
- HttpModule_End записывает время окончания в cookie.
- На клиенте, когда загрузка страницы завершена, запускается специальный запрос через AJAX.
это обрабатывается HttpHandler_ProcessRequest
- В HttpHandler_ProcessRequest вычтите DateTime.Now из времени окончания, записанного предыдущим HttpModule_End (который хранится в cookie), и сохраните его в базе данных.
Я забыл упомянуть одну вещь: все данные передаются через cookie, поэтому HttpHandler просто извлекает данные из cookie без идентификаторов сессии и т. Д.
Все участники находятся в одном часовом поясе.
Этот процесс в большинстве случаев работает нормально, но есть некоторые случаи, когда сетевое время превышает час!
Это указывает на очень большой промежуток времени между записью времени окончания и запуском запроса AJAX или большим промежутком времени между запуском запроса AJAX и временем, которое он получает на сервер приложений.
Я пытаюсь понять, что может быть причиной этой проблемы в дикой природе. Почему время операции просто не истекло?