ASP.NET MVC Пользовательский поставщик членства Ошибка Web.config

Я внедрил пользовательский поставщик членства, используя LINQ to SQL. Когда я добавил поставщика членства на мой веб-сайт asp.net mvc в веб-конфигурации, страница входа в систему перестала работать.

Настройка моего Web.config:

<membership>
  <providers>
  <clear/>
    <add 
      name="MyMembershipProvider" 
      type="MyMembership.MyMembershipProvider"
      connectionStringName="ApplicationServices" 
      enablePasswordRetrieval="false" 
      enablePasswordReset="true" 
      requiresQuestionAndAnswer="false" 
      requiresUniqueEmail="false" 
      passwordFormat="Hashed" 
      maxInvalidPasswordAttempts="5" 
      minRequiredPasswordLength="6" 
      minRequiredNonalphanumericCharacters="0" 
      passwordAttemptWindow="10" 
      passwordStrengthRegularExpression="" 
      applicationName="/"/>
  </providers>
</membership>

Ошибка, которую я получаю, следующая:

Сообщение об ошибке Parser: Не удалось найти поставщика членства по умолчанию.

Ошибка источника:

Line 53:            <forms loginUrl="~/Account/LogOn" timeout="2880"/>
Line 54:        </authentication>
Line 55:        <membership>
Line 56:            <providers>
Line 57:                <clear/>

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

Я использую стандартный код членства, который поставляется со стандартным проектом asp.net mvc. Поставщик членства реализуется в отдельной сборке, которая включена в веб-проект.

Любая помощь будет принята с благодарностью.

Спасибо!

Ответы

Ответ 1

Попробуйте добавить "По умолчанию = MyMembershipProvider" в тег членства. Если вы не укажете значение по умолчанию, оно попытается использовать стандарт ASP.

Ответ 2

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

Номер два: поскольку ваш тип определен в другой сборке, строка в type, вероятно, должна быть строкой, соответствующей классу сборки, то есть ей нравится

type="MyMembership.MyMembershipProvider, MyAssemblyName"