古いレガシー Web アプリケーションがあります。アーキテクチャは次のもので構成されています。
- (クラシック) クライアントのブラウザーにサービスを提供する ASP ページ。数千の VB スクリプト
- ASP (IIS) によって呼び出されるアウトプロセス DCOM サーバー。MFC、シングルトン、exe
- データベース; 1 つ以上のスキーマ
- DCOM サーバーを呼び出す補足 ASP.NET アプリケーション
サーバーの役割は次のとおりです。
- ユーザーのログイン、ログアウト、ライセンスの処理
- ユーザーセッション情報を保持する
- UIを生成する
- ユーザーアクションを保護/承認する
- データを取得してデータベースに保存する
サーバーのこれらの多くの役割のため、ASP (IIS) と DCOM サーバー間の呼び出しインターフェイスはかなり広く、これらの多くのページで頻繁に使用されます。
主な問題は、DCOM サーバーを呼び出す IIS にあり、新しい Windows サーバーではさらに大きくなります。Windows Server 2008 以降では、この組み合わせはほとんど維持できません。UAC を配置すると、単一のアウトプロセス DCOM サーバーでさえ機能しなくなります (異なるセキュリティ コンテキストで異なるプロセスが開始されます)。
サーバーの MFC/C++ コードを保持し、シングルトンとして実行したいと思います (すべての短所にもかかわらず)。これらの多くの ASP ページは、アプリケーションの中で最も動的で常に変化している部分です。補助的な ASP.NET アプリケーションを犠牲にするかもしれません。
サーバーのシングルトン アウトプロセス DCOM インターフェイスを置き換えるのに最適なものは何ですか? パフォーマンスと将来のメンテナンスが最も重要だと考えています。
(同じ .Net インターフェースを COM の代替として見ることができますが、私の主な関心事は、最初の反復でそれを 1 プロセスのシングルトンに保つことでした。)