2014-11-26 2 views
0

Как изменить поставщика членства ASP.NET в коде? Мне нужно переопределить его для модульного тестирования.Как изменить поставщика членства ASP.NET в коде?

+0

Возможно, вы можете использовать несколько поставщиков членства, просто добавьте другой провайдер в раздел web.config приложения. – bashkan

ответ

1

Я полагаю, что вы не можете сделать это в хорошем смысле, так как Membership.Provider не имеет сеттера, но вы всегда можете изменить его отражением. Membership класс имеет такое поле, которое хранит текущий поставщик членства:

public static class Membership 
{ 
    private static MembershipProvider s_Provider; 

Так что, если вы установите его на пользовательское значение при отражении, то элементы управления ASP.Net будет использовать Ваш новый провайдер.

Первоначально это свойство инициализировалось только один раз, и вы не можете нормально его изменить.

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

Смежные вопросы