Где разместить конфигурацию Custom Provider в ASP.NET, которая реализует ProviderBase? - PullRequest
0 голосов
/ 17 июня 2011

Я пытаюсь выяснить небольшую дилемму.У меня есть часть функциональности, которая не поддерживается поставщиками SqlMembership, SqlRole и SqlProfile.Требования требуют использования EF, а также множества пользовательских функций как в членстве, так и в роли поставщиков.

Более того, у меня есть необходимость добавить четвертого провайдера в набор - тот, который управляет членством пользователя в группе.

Итак, вопрос здесь:

  1. Добавьте код членства в группе в поставщике ролей.

- или -

  1. Добавьте код членства в группе к своему собственному GroupProvider, унаследованному непосредственно от ProviderBase.

Я больше склоняюсь к # 2, однако есть несколько соображений, чтобы сгладить:

  1. Как предоставить параметры конфигурации для GroupProvider?- Я знаю, что потенциально могу использовать пользовательский раздел в своем web.config, однако я хотел добавить его в раздел <system.web> вместе с поставщиками ролей, членства и профилей.

  2. Когда в жизненном цикле исполнения провайдера срабатывает public override void Initialize(string name, NameValueCollection config)?Что заставляет это выполняться?

Спасибо, Мартин

1 Ответ

0 голосов
/ 21 июня 2011

Ну, я не смог найти никакой информации по этому поводу, поэтому я решил вставить свой пользовательский код в RoleProvider.Доступ к пользовательским функциям RoleProvider так же прост:

string providerName = "MyProvider";
CustomRolesProvider provider = Roles.Providers[providerName] as CustomRolesProvider;

Каждый раз, когда к провайдеру обращаются, он запускает событие Initialize, если оно еще не инициализировано, - которое считывает параметры конфигурации из Web.Configпод System.Web section

...