Классический ASP: Как составить список активированных сессий? - PullRequest
4 голосов
/ 04 февраля 2009

Есть ли способ получить список активированных сессий в классическом ASP?

Я хочу ограничить количество одновременных активированных сеансов.

Ответы [ 2 ]

3 голосов
/ 04 февраля 2009

Вот хорошая статья, в которой показан способ сделать это: Число активных пользователей без Global.asa от Josh Painter

Полагаю, вам нужно изменить некоторые детали, но именно так вы можете решить проблему. Автор не использует global.asa.

Более простым способом было бы перехватить события Sesssion_OnStart и Session_OnEnd в global.asa и добавить / удалить элемент из списка сеансов, реализованных как переменная приложения.

Если вы просто хотите считать сессий, вы можете просто сделать это следующим образом:

Sub Session_OnStart
   Application.Lock
   Application("count") = Application("count") + 1
   Application.Unlock
End Sub

Sub Session_OnEnd
   Application.Lock
   Application("count") = Application("count") - 1
   If Application("count") < 0 then  ' Could only happen if some other function interfers
      Application("count")=0 
   End If
   Application.Unlock
End Sub

В вашем файле ASP

<%
Response.Write "There are currently " & Application("count") & "active sessions>"
%>
1 голос
/ 04 февраля 2009

Вы не можете получить доступ к одному сеансу из другого, поэтому нет встроенного способа получить список всех активных сеансов. Однако вы можете использовать Session_OnStart и Session_OnEnd в global.asa для отслеживания сеансов, сохраняя соответствующую информацию о сеансе в объекте Application, файле журнала, базе данных и т. Д. (В зависимости от того, что именно вы хотите сделать с информация).

Мы склонны отслеживать количество активных сеансов в Application объекте, чтобы получить приблизительное представление о том, сколько людей используют сайт в любой момент времени (имея в виду, конечно, что люди обычно покидают сайт задолго до истечения срока их сессий). Это не на 100% точно, но достаточно близко для руководства по текущей деятельности.

Если вам просто нужно количество сеансов, вы также можете использовать Perfmon для отслеживания счетчика Sessions Current (и других связанных счетчиков) для объекта производительности Active Server Pages. Очевидно, это предполагает доступ к серверу и, вероятно, не то, что вам нужно в этом случае.

Для получения дополнительной информации о некоторых параметрах попробуйте эту статью: Как подсчитать количество текущих пользователей / сеансов? (архивная версия)

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