Хорошо, вот проблема в общем.Я использую System.Web.Security.SqlMembershipProvider
для входа и регистрации на моем сайте.И я использую синтаксис Razor (.cshtml файлы) для моих страниц просмотра.Одна из этих страниц - это страница «забыли пароль».На этой странице я хочу использовать некоторый код, который поддерживается только WebMatrix.WebData.WebSecurity
.Я добавил необходимый код в web.config и все такое, так что это не моя проблема.
Моя проблема в том, что теперь мой код регистрации не работает.В частности, метод CreateUser.Происходит то, что, хотя VisualStudio показывает метод CreateUser как MembershipProvider.CreateUser
, когда функция фактически вызывается (я смотрел на вызов стека, так что я уверен в этом) равен WebMatrix.WebData.SimpleMembershipProvider.CreateUser
.Эта функция не поддерживается системой (согласно утверждению об исключении).По-видимому, методы CreateUser как для MembershipProvider, так и для WebMatrix имеют одинаковые подписи, так что это, похоже, проблема.
Вот код метода, для чего он стоит, но этот код создается автоматически, когдаЯ создаю сайт в VisualStudio.И, кстати, я не могу изменить параметры: _provider.CreateUser(userName, password, email, null, null, true, null, out status);
Итак, каково решение?Я хотел бы иметь возможность явно указать метод в коде.Что-то вроде: _provider.MembershipProvider.CreateUser(userName, password, email, null, null, true, null, out status);
Увы, мне запрещено это делать.Итак, есть ли способ указать, какую функцию вызывать?Или, может быть, какое-то другое решение?