私は複数のクライアントを使用しているWebアプリケーションを持っています。 すべてのクライアントに対して1つのアプリケーションコピーを作成するか、すべてのクライアントが独自のコピーを作成する必要があります。複数のクライアントに1つのプロジェクトのコピーが必要ですか、またはすべてのクライアントに独自のコピーがありますか?
私はAsp.net MVCとSQLServerを使用しています。 あなたの提案。
私は複数のクライアントを使用しているWebアプリケーションを持っています。 すべてのクライアントに対して1つのアプリケーションコピーを作成するか、すべてのクライアントが独自のコピーを作成する必要があります。複数のクライアントに1つのプロジェクトのコピーが必要ですか、またはすべてのクライアントに独自のコピーがありますか?
私はAsp.net MVCとSQLServerを使用しています。 あなたの提案。
クライアントごとに個別のプロジェクトを作成するのは、すべてのクライアントの単一のプロジェクトをカスタマイズするのが難しいのに対し、維持するのは面倒です。それは細い線であり、あなたのニーズはあなたのソリューションを構築する方法を指示します。
SAS(ソフトウェアとしてのサービス)を行った私の最近のプロジェクトの1つでは、プラグインアーキテクチャを使用してMVCアプリケーションを構築して、各クライアントが独自のDLLをBINに配備してそのクライアントだけ(ビュー、資産、またはコントローラにさえ)。私たちは、単一のコードベースを活用し、多くのクライアントを持っています。ほとんどのものはカスタマイズされていません。
すべてのクライアントは、彼らの「ポータル」と、ほとんどの場合、彼らはプライベートドメインを持っているので、http://app.mycompany.comまたはhttp://mycompanyapp.comのためのユニークなURLを持っており、いくつかのも私たち自身のサイト、http://hostingcompany.com/client/上でホストされています。
どのクライアントがURLに基づいているかを判断できるアプリケーションを構築することで、これらのすべてのケースを簡単に処理できました。展開する際には、1つのコードベース(1つのフォルダに1度だけ展開)があり、すべてのサイトで同じコード展開が使用されます。
私たちは多くの.NET Webサーバーを持ち、ロードバランシングセットアップを持ち、すべてのサイトで負荷分散装置が相互作用して健康状態を判断するpingページを持っているWebファームを実行します。
私が言ったように、あなたのニーズによって、あなたに最適な解決策が決まります。
Nickでは、データベースごとに1つのデータベースを使用する必要があります。シナリオでは、アプリケーションごとにデータベースを追加する必要があります。アプリケーションはデータベース中心ですので、ビジネスロールごとにクライアントごとに多くの変更が行われます。
申し訳ありませんあなたの質問が私の投稿への返信ではなかったので、私はあなたの質問を見ませんでした。共有データベースをサポートするような方法でデータベース構造が構築されている限り(データを分割するためにCompanyIDを使用するなど)、どちらの方法も使用できます。適切な構造を使用すると、個々のクライアントを簡単に独自のインストールにロールオフできます。私たちの場合、クライアントとデータベースのマッピングのようないくつかのマスター構成、アプリケーションが応答するドメインのリストなどを格納する単一のMASTERデータベースと、いつでもクライアントを(共有から専用または専用に)移動できます。共有)。 –
「クライアント」を定義するのに気をつけますか? –