Предельное число пользователей, получающих доступ к веб-ASP приложение.NET

Я сталкивался с той же проблемой, пока не нашел способ реализовать отложенную загрузку для всех iframes и изображений с помощью:

  1. Изменение src на data-src для изображений и iframes без YouTube [ 111]
  2. Изменение iframe YouTube на img и получение миниатюры видео непосредственно с YouTube

После этого я инициализирую lazyload.js и выполню несколько js.

Полный пример и код вы можете найти в репозитории MODX-lazy-loader-snippet

Если вам нужна помощь, оставьте комментарий к этому ответу, и я отвечу

7
задан niton 19 April 2015 в 13:20
поделиться

3 ответа

Принятие Вашей аутентификации пользователя является так или иначе базирующейся сессией, затем ответ на все Ваши "неожиданные" случаи (который на самом деле будет нормой - люди редко, кажется, выходят из веб-приложений), будет то, что те пользовательские слоты становятся свободными, когда сессия испытывает таймаут. Таким образом, необходимо было бы исследовать шаблоны использования приложения. Если Вы получаете много людей, входящих в систему в течение нескольких минут, но не больше, чем что, то 30-минутная сессия испытывает таймаут, означал бы, очень немного людей на самом деле добираются для использования приложения.

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

4
ответ дан 7 December 2019 в 12:25
поделиться

Наиболее распространенное решение состоит в том, чтобы иметь таймер действия. Можно предположить, что активный пользователь выполнит по крайней мере один запрос в "X", количество времени - говорит 5 минут или около этого.

Можно осуществить это путем помещения ajax-стиля, асинхронный запрос выключил таймер, который запускается, когда страница загружается. Например, если your'e, предполагающий, что все активные пользователи будут выполнять по крайней мере 1 запрос каждые 5 минут, затем каждая страница, запросит пустое (но без кэшей) страница каждые 4 минуты. Тот путь, пока у них есть открытое окно браузера, у Вас всегда будет действие от того пользователя. Снова, это обрабатывается асинхронными запросами, не любым видом директивы перезагрузки. Это делает это абсолютно очевидным для пользователя.

Как добавленная премия, посмотрите, можно ли сделать это, ajax запрашивают выпадающий немного полезной информации, вместо того, чтобы просто осуществить лицензирование ограничений.

1
ответ дан 7 December 2019 в 12:25
поделиться

Поскольку David указывает, что основная проблема состоит в том, чтобы дифференцироваться между неактивными пользователями и пользователями, которые оставили Ваше приложение.

Возможное решение состояло бы в том, чтобы сохранить низкий тайм-аут сессии (скажите 1 или 2 минуты), и использование функции обратного вызова для поддержания сессии для неактивных пользователей. Затем Вы могли увеличить счетчик в Session_Start и постепенно уменьшить его в Session_End и использовать его для отслеживания количество активных сессий. Если бы количество активных сессий идет вне Вашего предела, Вы перенаправили бы нового пользователя к странице, которая отказывается от сессии и говорит пользователю, что у Вас есть слишком много посетителей в данный момент.

0
ответ дан 7 December 2019 в 12:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: