1

私は2つのプロジェクトでASP.NETソリューションに取り組んでいます。1つはWebインターフェイスで、もう1つには私のビジネスロジックが含まれています。2番目のプロジェクトのデータアクセスにLINQtoSQLを使用しています。

データベースとは別に、ユーザー情報を保持するUsersというテーブルがあります。

MembershipProviderの実装を開始しました。MembershipUserがMembershipProviderと結合されていることに気付きました。BLL / DALにユーザーについて話させる最も正しい方法は何ですか?MembershipUserを最小限に実装する必要があり、ユーザーがメソッドを呼び出すたびに、たとえば、ユーザーに関する完全な情報を取得するには、BLL / DALのGetUserInfo()?

または、MembershipUserクラスメソッドにBLL / DALのカスタム「Users」クラスメソッド(ラッパーなど)を呼び出させる必要がありますか(このカスタムユーザークラスはlinqに関連していません)?

または、LinqをSQLクラス「CFUsers」に拡張してMembershipUserを拡張することはできますか。

これが理にかなっていることを願っています。

4

1 に答える 1

1

MembershipUser は一般的な懸念事項であるメンバーシップを中心に展開し、システム内のユーザーはドメインに伴うものを中心に展開するため、通常、これは別個のエンティティであることがわかります. プロファイルは間違いなく最も簡単な方法です。

http://msdn2.microsoft.com/en-us/lib...US,VS.80).aspxにある MSDN ドキュメントの ウォークスルーと、 http://weblogs.aspにある Scott Guthrie による優れたウォークスルーがあり ます。 net/scottgu/archi...18/427754.aspx

いつものように、それはあなたの目標が何であるかによります。プロファイルへの追加は、データを追加するための簡単なメカニズムです。カスタマイズの方法はほとんど必要なく、Web アプリケーションで情報を簡単に利用できるようになります。これは、このタイプのデータを保存する場所ではない場合があります。そうでない場合、それは非解決策です。

これがうまくいかない場合は、デフォルトから派生した新しいプロバイダーを作成する (既存のものを継承する) ことをお勧めします。そしてもちろん究極のhttp://codesmart.wordpress.com/2009/03/27/extending-the-microsoft-aspnet-membership-provider/

于 2010-01-07T13:59:55.373 に答える