Membership.ApplicationName проблема - PullRequest
3 голосов
/ 04 мая 2010

Membership.ApplicationName - статическая строка.

Моя проблема в том, что если я хочу изменить это значение, чтобы объединить членство другого приложения в той же базе данных, изменение является постоянным, то есть имя приложения для текущего сайта теперь глобально изменено на это значение.

В идеальном мире я мог бы вызвать Membership.GetUser($username, $ApplicationName), но такой функции не существует.

Может кто-нибудь предложить какие-нибудь идеи?

1 Ответ

1 голос
/ 12 декабря 2010

Membership.ApplicationName является глобальным по дизайну. В документации MSDN говорится, что если вам нужно приложение, которое может изменить это значение, оно должно быть однопользовательским.

http://msdn.microsoft.com/en-us/library/system.web.security.membership.applicationname.aspx

(см. Раздел «Внимание» в разделе «Примечания»)

Есть две альтернативы для решения вашей проблемы: 1) Создайте отдельное приложение для администрирования пользователей. 2) Напишите пользовательский поставщик членства, который имеет метод, который вы предложили. Вам также потребуется написать слой доступа к данным, но структура БД четко определена, поэтому это не должно быть слишком сложным.

...