1

私たちのアプリケーションは既存のものであり、大量のデータがあるため、独自の MembershipProvider を実装することにしました。

このプロセスでは、CreateUser を別の署名でカスタマイズする必要がありました。そしてこれが私のサインです。

public MembershipUser CreateUser(string firstName, string lastName, string password, string email, string phone, out MembershipCreateStatus status, string title = null, UserRole role = UserRole.User)
    {
        // New user logic
    }

プロバイダーを初期化した後、この CeateUser メソッドを呼び出しています。インスタンスを初期化していますが、そのインスタンスで Initialize メソッドを呼び出していません。この初期化部分を回避し、CreateUser メソッドを呼び出す方法。

var provider = new EastpointMembershipProvider(); 

            provider.CreateUser(model.UserName,string.Empty,  model.Password, model.Email, string.Empty,out createStatus,"Mr");

ありがとう

4

1 に答える 1

2

しばらく閲覧した後、カスタム メンバーシップ プロバイダーを明示的に初期化する必要がないことがわかりました。

Membership.Provders["ProviderName"] からプロバイダーを取得すると、Initialize が呼び出されます。

var membership = (CustomMembershipProvider)Membership.Providers["CustomMembershipProvider"];
于 2012-09-05T11:05:24.377 に答える