Что такое шаблон дизайна Heart Beat? Как это связано с сессией ASP.NET? - PullRequest
4 голосов
/ 03 августа 2009

Что такое шаблон дизайна Heart Beat? Как это связано с сеансом ASP.NET?

Ответы [ 2 ]

4 голосов
/ 03 августа 2009

Веб-приложение получает HTTP-запрос от браузера пользователя. Он содержит информацию о сеансе, так что (например) корзина покупок или состояние онлайн-игры могут быть сохранены между этими запросами.

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

Шаблон сердцебиения, описанный здесь использует Ajax (асинхронные) вызовы, чтобы сообщить серверу, что пользователь все еще здесь. Это может быть полезно, потому что многофункциональные интернет-приложения часто допускают локальную работу до того, как новые запросы отправляются на сервер - поэтому существует опасность истечения времени ожидания сеансов, пока пользователь счастливо использует приложение.

Реализация должна быть разумной. Например, если вы будете просто отправлять ajax-вызов на сервер каждые тридцать секунд, говоря «Да, все еще здесь», это будет продолжаться, пока пользователь находится в двухнедельном отпуске. Поэтому вместо этого сердцебиение будет отправлено только тогда, когда пользователь активно использует приложение.

Вполне может быть целесообразным «добавить» полезную информацию в запросы и ответы пульса, например, отправить данные автосохранения на сервер или получить обновленную информацию о сервере или «новости».

1 голос
/ 03 августа 2009

Этот шаблон предназначен для поддержания сеанса ASP.NET живым.

Взгляните на Шаблон проектирования Heart Beat - Поддержание жизненного цикла сеанса веб-страницы для реализации в .NET.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...