2010-07-01 3 views
0

У меня есть веб-приложение, построенное с использованием ASP и Asp.Net. Я хочу ограничить количество пользователей, обращающихся к этому веб-сайту. Существуют различные способы доступа к ASP и ASP. NEt, но не для комбинации этих двух. MayI знаю, могу ли я просто использовать Application ["somename"] в global.asaxРасчет количества пользователей, обращающихся к моему сайту в определенный момент времени

Еще одна вещь, когда пользователь покидает приложение, а это означает, что время сеанса пользователя, пользователь выходит из системы самостоятельно или закрыл браузер Я хочу убедиться, что приложение ["somename"] будет уменьшено. Как отслеживать эти случаи?

ответ

0

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

В качестве альтернативы вы действительно можете использовать файл global.asax в сочетании с переменной приложения, хотя сложная часть, очевидно, должна учитывать, что пользователь вышел из системы, если они явно не делают этого.

+0

Я использую session.abandon, чтобы убить сеанс во время выхода из системы. Как вы сказали, меня беспокоит сложная часть закрытия браузера. Я не знаю, как я могу отслеживать это и уменьшать количество для использования в моей переменной Application ["somename"]. Спасибо за ответ. – SARAVAN