0

これは、質問hereのフォローアップです。回答は、過度に複雑で過度に具体的であると思われます (EF、私は使用していません - ORM を使用していません)。

その答えでほのめかされた煙、鏡、魔法よりも、この一般的なシナリオを回避するより簡単な方法が必要です.

注: 私は EF を使用していないため、"context" を括弧で囲みました。つまり、ここで話しているのは文字通りの "dbcontext" ではありません。

だから私は疑問に思いました: ユーザーが認証および承認されているときに、各セッションにグローバル変数を設定できますか?

たとえば、ユーザーが認証/承認されると、どのデータベース コンテキスト/コンテンツをユーザーに提供する必要があるかがわかります。

したがって、Global.asax.cs の Application_Start() メソッドに値を設定してから、RepositoriesInstaller (IWindsorInstaller を実装する) クラスを変更して、ユーザーとユーザーが持つべきデータに基づいて異なる具体的なリポジトリを条件付きで登録するか、条件付きコードを配置することができるようです。具体的なリポジトリ自体で、これまたはそのデータベースインスタンスを使用します。

これは実現可能ですか?1 つの方法 (RepositoriesInstaller を変更する/具体的な Repositories クラスを変更する) が優先されますか?

4

1 に答える 1