Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как узнать число задач – обращений к сайту?
|
|||
|---|---|---|---|
|
#18+
Предположим мой сайт (написанный на ASP.NET) лежит на сервере. Когда к нему обращаются, то сервер возбуждает для пользователя свою задачу. Как узнать из той же программы, сколько сейчас таких задач крутится в связи с обращением к моему Default.aspx? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2006, 12:29 |
|
||
|
Как узнать число задач – обращений к сайту?
|
|||
|---|---|---|---|
|
#18+
потоки как создаются, так и удаляются, так же они используются повторно. Время работы потока как правило очень мало, так что знание количества этих потоков тебе ничего не даст. Веди счетчик уникальных SessionID через какой-нибудь Singleton. Заведи на каждого пользователя некий таймаут (равный времени жизни сессии, например). Если в течении этого таймаута запроса с таким SessionID не поступит, уменьшаешь кол-во текущих активных юзеров. Если я тебя правильно понял :)http://ln.com.ua/~openxs/articles/smart-questions-ru.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2006, 12:44 |
|
||
|
Как узнать число задач – обращений к сайту?
|
|||
|---|---|---|---|
|
#18+
Да-да, Дмитрий, Вы меня очень правильно поняли. Значит, так: завожу, скажем, статический массив строк (или файл в БД) и каждую действительно (новую) SessionID туда записываю. При обращении к этой же сессии продлеваю ее "время-легальной-жизни". Устаревшие сессии время от времени удаляю. И таким образом, имею всегда представление о том, как используют люди сайт. Так? Если я правильно понял Ваше предложение, то вопросы будут такие: 1) этот SessionID привязан к серверу или только к браузеру и локальной машине, на которых идет просмотр. Если последнее, то я не очень понимаю, откуда возьмется уникальность SessionID 2) как создать в C# программе (скажем, в Default.aspx.cs) подзадачу-наблюдателя, которая время от времени будет инспектировать сайт на предмет выявления "мертвых" сессий? Или, может, не создавать ее, а проводить инспекцию только по случаю возникновения новой session и по случаю любопытства пользователя о числе собратьев на сайте? Буду признателен за ответ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2006, 14:05 |
|
||
|
Как узнать число задач – обращений к сайту?
|
|||
|---|---|---|---|
|
#18+
1) SessionID генерится на основании неважно чего на сервере и хранится у клиента в cookies. Уникальность гарантируется сервером. По тем же самым кукам сервер узнает, что к нему снова обратился именно этот пользователь, и ваша программа может хранить для каждого пользователя в сессии собственные данные. 2) если воспользоваться шаблоном Singleton, то доступ к статистике в любой момент может получить любой код вашей программы. Если вы не очень переживаете за реальность цифр и не боитесь их потерять, то можно хранить хэш-массив с sessionID, скажем, в статической переменной приложения. Ключ - сам sessionid, значение - время последнего доступа. Изредка можно запускать процесс очистки (удалять записи с слишком старым временем). На оптимальность способа не претендую, лень думать :) я такое не делал, у меня была другая задача - подсчитывать количество уникальных посещений и хитов на страницы, там я конечно пользовался базой и некими несложными вычислениями. Задача получить количество одновременно работающих пользователей намного проще :)http://ln.com.ua/~openxs/articles/smart-questions-ru.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2006, 14:32 |
|
||
|
Как узнать число задач – обращений к сайту?
|
|||
|---|---|---|---|
|
#18+
Понял. Спасибо. Еще 2 вопроса: 1) насколько длинным может оказаться SessionID ? 2) что такое Singleton ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2006, 14:38 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=33952417&tid=1390073]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 369ms |

| 0 / 0 |
