1

作業中のASP.NETMVCアプリがあります。使用する必要のある独自のスキーマを持つデータベースがすでにあるため、カスタムMembershipProvider(MyCustomMembershipProvider)を使用してメンバーシップ情報にアクセスしています。

別のモックプロバイダーを挿入できるように、MembershipProviderを含むAccountMembershipService(IMembershipServiceを実装)があるNerdDinner2の例と同様のクラスを使用しています。ただし、CreateUserとChangePasswordのいくつかの異なるメソッドを使用してMyCustomMembershipProviderを拡張しました。これらのメソッドは、カスタムメソッドであることがわかっていない限り、MembershipProviderでは使用できません。

私はこれについて間違って行っていますか?新しいプロバイダーメソッドを含むインターフェイスである別のレイヤーが必要ですか?

4

1 に答える 1

0

あなたの問題が何であるかを完全に理解しているかどうかはわかりません。MembershipProvider でラッパー インターフェイスを使用している場合は、アプリがインターフェイスのみを使用しているため、プロバイダーが実装するメソッドは問題ではなく、必要に応じてインターフェイスを変更できます。

または、カスタム プロバイダーからカスタム メソッドを呼び出す方法を尋ねていますか? もしそうなら、それは問題とは何の関係もないので、あざけりやただのニシンではないことについてのすべてのビット。

それが実際に問題である場合は、Membership.Provider メソッドをプロバイダーの型にキャストするだけです。このようなもの:

var myProvider = Membership.Provider as MyCustomerMembershipProvider;
myProvider.CreateUser(...);
于 2012-10-17T23:29:58.103 に答える