Asp / Razor CreateUser метод - PullRequest
       4

Asp / Razor CreateUser метод

0 голосов
/ 01 июля 2011

Хорошо, вот проблема в общем.Я использую 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); Увы, мне запрещено это делать.Итак, есть ли способ указать, какую функцию вызывать?Или, может быть, какое-то другое решение?

Ответы [ 2 ]

0 голосов
/ 01 июля 2011

Прежде чем копать дальше, вы можете проверить, работают ли новые Универсальные поставщики ASP.NET от Microsoft. Скорее всего, они будут поставщиками по умолчанию для следующей версии ASP.NET.

В вашем случае эквивалентный поставщик будет System.Web.Providers.DefaultMembershipProvider

0 голосов
/ 01 июля 2011

Что происходит при использовании

Membership.CreateUser()

или

Membership.Provider.CreateUser()

Не видя больше вашего кода, трудно помочь.

...