Перенаправление asp.net, если достигнуто максимальное количество подключений / сеансов - PullRequest
3 голосов
/ 05 марта 2010

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

спасибо заранее.

1 Ответ

1 голос
/ 10 марта 2010

Есть несколько способов сделать это.

Я думаю, что наиболее очевидным способом было бы сделать это в IIS. Если вы используете IIS 6.0, вы можете сделать это, перейдя в свойства веб-сайта, перейдите на вкладку производительности и измените ограничение на количество подключений в соответствии с вашими требованиями. Затем вы можете настроить сообщение об ошибке IIS по умолчанию (я думаю, это классифицируется как код 500).

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

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

Мои деньги будут на первом варианте.

Надеюсь, это поможет

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