複数のクライアントを使用しているWebアプリケーションがあります。すべてのクライアントに対してアプリケーションのコピーを1つ作成するか、すべてのクライアントに独自のコピーを作成する必要があります。
Asp.netMVCとSQLServerを使用しています。あなたが提案すること。
複数のクライアントを使用しているWebアプリケーションがあります。すべてのクライアントに対してアプリケーションのコピーを1つ作成するか、すべてのクライアントに独自のコピーを作成する必要があります。
Asp.netMVCとSQLServerを使用しています。あなたが提案すること。
クライアントごとに個別のプロジェクトを作成することは維持するのが面倒ですが、すべてのクライアントのための単一のプロジェクトをカスタマイズするのは難しいかもしれません。これはすばらしい線であり、ニーズによってソリューションの構築方法が決まります。
SAS(Software as a Service)を行う最近のプロジェクトの1つでは、プラグインアーキテクチャを使用してMVCアプリケーションを構築し、各クライアントが独自のDLLをBINにデプロイして、そのクライアントのみのカスタマイズを可能にすることができました(ビュー、アセット、さらにはコントローラーに)。単一のコードベースを活用することができ、多くのクライアントがあります。ほとんどはカスタマイズなしで、一部はマイナーからヘビーなカスタマイズありです。
すべてのクライアントには「ポータル」の一意のURLがあり、ほとんどの場合、プライベートドメインがあるため、http: //app.mycompany.comまたはhttp://mycompanyapp.com、さらには独自のサイトhttp:/でホストされているものもあります。 /hostingcompany.com/client/。
URLに基づいてクライアントを判別できるアプリケーションを構築することで、これらすべてのケースを簡単に処理することができました。デプロイすると、単一のコードベース(単一のフォルダーに1回だけデプロイされます)があり、すべてのサイトが同じコードデプロイメントを使用します。
多くの.NETWebサーバーがあり、負荷分散が設定されているWebファームを実行しています。すべてのサイトには、ロードバランサーが正常性を判断するために対話するpingページがあります。
私が言ったように、あなたのニーズはあなたにとって最良の解決策が何であるかを決定します。
ニック、データベースについてはどうでしょうか。クライアントごとに1つのデータベースを使用するか、私のシナリオではクライアントごとに個別のデータベースを用意する必要があります。アプリケーションはデータベース中心であるため、ビジネスの役割ごとにクライアントごとに多くの変更が行われます。