同じサーバー上のいくつかの異なるアプリケーション (クライアント) によって使用される機能があります。サービスとしてモデル化でき、バックエンド データベースがあり、一度に使用される機能とデータベースのバージョンは 1 つだけです。
これまで、単純な DLL の再利用を採用しており、機能、その構成ファイル、および依存関係が使用されるすべての場所にデプロイされていました。いくつかの場所で変更を行う必要があるため、機能の新しいバージョンを作成する場合や、新しいクライアントがそれを使用する場合、この方法は苦痛です。
これを行うためのより良い方法があるかどうか疑問に思っており、2 つの代替案を考え出しました。
DLL (および依存関係) を GAC に配置します。問題は、コンポーネントをどのように構成するかです。クライアントは構成に関心がないため、サーバー上のハードコードされたパスに構成ファイルを保存することに傾いています。
機能を内部 (REST ベースの) サービスとして公開します。ファイアウォールを使用して、アクセスを内部クライアントに制限できます。
私たちが見ているように、#1 の長所はパフォーマンスとおそらくセキュリティであるように見えますが、#2 はセットアップがより簡単であると見ることができます.
ここで何か重要なことを見逃していませんか? 誰かが以前に同様の状況にあり、洞察を共有したいですか?