Пользователь + обработка сессий с ASP.NET и MySQL решением - PullRequest
1 голос
/ 30 июля 2010

Я читал в Интернете о различных альтернативах отслеживанию пользователей, но я не могу найти «идеальное» решение для моей ситуации.

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

Нужно ли мне создавать собственного провайдера членства и ролей, который работает с mySQL, чтобы иметь возможность использовать стандартные системы обработки пользователей .NET (например, FormsAuthentication, которая может обрабатывать сессионные вещи из того, что я понял)?

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

1 Ответ

1 голос
/ 30 июля 2010

MySQL

У Марвина Палмера есть статья о реализации членства и ролей в .NET с использованием MySql .

Session

С точки зрения обработки состояния сеанса, вы правы в своих предположениях выше. Вы можете внедрить сеансы Sticky, чтобы посетители перенаправлялись на один и тот же веб-сервер. Это может быть оптимизация раньше времени. Столкнитесь с этими проблемами, когда доберетесь до них.

Вы можете помочь себе, убедившись, что вы прямо сейчас абстрагируете все свои вызовы Session["foo"] в статический класс. Если вы этого еще не сделали, создайте статический класс, работа которого заключается исключительно в установке / получении значений сеанса. Создайте свойство для каждого ключа и получите к нему доступ из своего приложения как MySessionMgr.CustomerID;. Когда / если ваш механизм сохранения сеанса изменится, вам нужно будет изменить его только в этом классе.

В будущем вы можете рассмотреть возможность использования Windows Server AppFabric (ранее под кодовым названием Velocity), технологии многосерверного общего сеанса Microsoft.

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