Сеансы SQL Server 2008

#sql #session

#sql #сеанс

Вопрос:

Мы очень новички в ASP.net … на самом деле работаем с внешним консультантом, к которому у меня в настоящее время нет доступа.

Я ищу:

  1. Хорошая документация / рекомендации по управлению сеансами и сеансами. Сейчас я нахожу некоторую информацию: http://support.microsoft.com/kb/317604

  2. Обзор приложения ниже для комментариев о том, как наилучшим образом справиться с этим сценарием.

У нас есть следующий сценарий:

  1. OEM-машина на этаже, предоставляющая обновления статуса каждые x.x секунд в таблицу Device_Status.
  2. Когда ASP.net клиент / пользователь хочет просмотреть статус конкретной машины, я хочу уведомить OEM-машину на этаже, чтобы увеличить частоту обновления почти до реального времени. Возможно, с флагом «realtimeupdate» в таблице Device_Status.
  3. Когда ASP.net клиент / пользователь переходит или выходит из системы, частота обновления должна вернуться к x.x секунд.

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

Единственная проблема, которую я вижу до сих пор, заключается в том, что ASP.net клиентское соединение прерывается до установки флага «realtimeupdate» на 0. Если это произойдет, OEM-компьютер продолжит предоставлять обновления в режиме реального времени, когда они больше не нужны.

Комментарии:

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

2. Я нашел эту статью о состояниях SQL Server: support.microsoft.com/?id=820782 и этот , касающийся ASP.NET Состояния сеанса msdn.microsoft.com/en-us/library/87069683(VS.71).aspx

Ответ №1:

вы не можете рассчитывать на то, что браузер (или пользователь) скажет «привет, я закончил». Люди уходят от ПК, переходят на stackoverflow.com , нажмите X, чтобы закрыть браузер, и т.д. вам нужно будет закодировать свою веб-страницу, чтобы запрашивать частоту «live» при каждом обновлении страницы. и попросите какой-нибудь независимый серверный процесс отключить «живую» частоту, если вы не получаете обновления страницы с запросом «живой» частоты через некоторое заданное время. В дополнение к отключению вашей страницы, если пользователь попросит об этом.

Комментарии:

1. спасибо … вопрос в том, что «какой-то независимый серверный процесс» может это сделать? Я думаю, что с помощью приведенных выше ссылок я теперь могу найти то, что мне нужно сделать.

2. «некоторый независимый серверный процесс» — это некоторая программа, которую вы пишете, которая запускается на сервере каждые x минут и определяет, нужно ли отключать какие-либо «текущие» запросы частоты, потому что он не находит ни одного недавнего запроса для поддержания «живой» частоты».