0

何人かの人が私にアドバイスをくれたり、正しい方向に向ける手助けをしてくれることを願っています. アプリケーションを開発します。アプリケーションは C# で記述され、MVC 4 を使用しています。アプリケーションにはマルチテナンシー データベースがあります。そのため、顧客 A の情報は独自のデータベースにあり、顧客 B はアクセスできません。さらに、顧客データベースにはメンバーシップが保存されています。したがって、A のユーザーは A のデータベースにあり、B のユーザーは B のデータベースにあります。

アプリケーションにはパイロットが含まれることがあります。その場合、2 つのバージョンがあります。例: バージョン 1 には顧客 A と B が含まれます バージョン 2 には顧客 C が含まれます

私が欲しいのは、エントリが 1 つあるものですが、ページはバージョン固有です。

私の考えは、顧客 A と B がバージョン 1 を実行し、顧客 C がバージョン 2 を実行していることを知っているプロキシまたは何かを作成することでした。そのため、顧客 A のユーザーがログインしたい場合、会社番号、ユーザー名、およびパスワードを入力します。プロキシは、顧客 A のデータベースの場所を確認し、ユーザー名とパスワードが有効かどうかを確認します。

ユーザーをサブドメインなどに送りたくありません。したがって、URL はhttp://www.domain.comのままです。( domain.com/controller/action のようなアクションを含めることができますが、http://customer-a.domain.comのようなものは含めることができません)

何人かが私にアドバイスをくれることを願っています。コンソール アプリと HttpListner を試してみましたが、うまくいきませんでした。例をいただければ幸いです。

4

1 に答える 1

0

彼らが言うように、猫の皮を剥ぐには9つの方法があります。もちろん、エンティティ フレームワークとリポジトリ デザイン パターンを利用して、この問題を回避します。

私は次のことをします、

  • エンティティ フレームワークを使用してデータベースにアクセスするために必要な 2 つの .edmx ファイルを作成します。
  • リポジトリ設計パターンを実装します。

たとえば、正しいデータベースから適切なデータを取得するためのロジックを含む CustomerRepository があります。

ただし、アプリケーションのビジネス ルールに関する深い知識がなければ、お客様のニーズに 100% 適合するソリューションを提供することは困難であり、残念ながら自分で解決する必要があります。しかし、あなたが言ったように、あなたは誰かがあなたを方向に向けさせたいだけです.

エンティティ フレームワークとリポジトリ デザイン パターンに慣れていない場合は、次のリンクを参照してください。

于 2013-09-17T15:28:42.647 に答える