У меня есть пользовательский членский провайдер, который я указал для использования в моем файле web.config
для проекта MVC3. Я предполагал, что он будет использоваться вместо встроенного в поставщика членства, так как я, указав его использование, как так:MVC Custom Member Provider
<system.web>
<membership defaultProvider="CustomMySQLMembershipProvider">
<providers>
<clear />
<add
connectionStringName="dbConn"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="true"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="25"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
passwordStrengthRegularExpression=""
applicationName="/jp2012"
name="CustomMySQLMembershipProvider"
type="NameSpace.CustomMySqlMembershipProvider" />
</providers>
</membership>
</system.web>
Должен ли я сделать что-то в моем коде, чтобы получить его, чтобы переопределить поставщика членства по умолчанию ? Сейчас я могу получить доступ к нему, как это:
CustomMySqlMembershipProvider membership =
(CustomMySqlMembershipProvider)Membership.Providers["CustomMySQLMembershipProvider"];
Есть ли способ, что я могу получить его, чтобы быть автоматически перекрываться с помощью файла web.config
, так что я не должен жёстка моего имени реализаций? Что-то еще вот так:
MembershipProvider membership = new MembershipProvider();
Любые идеи? Дайте мне знать, если вам нужна дополнительная информация.
Как я могу заставить его вызвать метод Initialize? У меня есть код, который инициализирует переменные, используемые во всех реализованных методах. – JesseBuesking
@JesseBuesking Вы должны переопределить инициализацию 'Initialize (string name, NameValueCollection config)' для инициализации. – Eranga
Я реализовал 'public override void Initialize (string name, NameValueCollection config)' уже, но он по-прежнему не вызывается по умолчанию. Есть идеи? – JesseBuesking