DCOMの後継者を指名する公式のガイダンスは知りませんが、.NETにはDCOMの使用法を置き換えることができる2つのフレームワークがあります。それらはWCFと.NETRemotingです。
WCFは、DCOMなどが提供するすべてのトランスポート機能の代わりに使用できます。.NET3.0以降のバージョンを使用できない状況にある場合。代わりに、.NETリモーティングのみを使用できます。.NET内の両方のフレームワークを使用すると、呼び出しを発行し、実行の制御を他のスレッド、プロセス、およびコンピューターのホストに転送できます。リモーティングはDCOMの代わりになることを意図していた可能性が高く、ほぼすべてのトランスポート機能も処理できますが、採用はそれほど大きくありませんでした。
一般に、ほとんどの人は現在WCFを好みます。これは、すべてが明確に定義されており、WCFを介して行われる呼び出しの側面を制御する機能がたくさんあるためです。ワイヤーの両側でタイプ情報を管理する必要があるため、通常の.NETリモーティングは現在やや使用されていません。これは、DCOMと比較して負担が大幅に改善されることはありません。また、共有メモリトランスポートがないため、スレッド内/プロセス通信はソケットベースの通信を使用してのみセットアップされ、ループバックソケットのパフォーマンスの制限を受けます。
あなたが言及する一般的なシナリオに関して、ほとんどすべてのアプリケーションは、WCFまたはリモーティングを介して他のアプリケーションに接続するためにアクセス可能にすることができます。トリッキーな問題のほとんどは、Webアプリケーションでホストされているコンポーネントとの通信に関係しています。一般に、これは通常行われていません。呼び出しはそれらから発行されますが、http /httpsWebアクティビティの外部で受け入れられることはめったにありません。セキュリティとID管理も難しい場合がありますが、DCOMの構成ベースのセットアップよりもはるかに改善されています。
全体として、WCFと.NETRemotingはどちらもDCOMよりも大幅に優れています。セットアップと保守が簡単で、DCOMで使用するCOMコンポーネントと同じ登録上の問題はありません。さらに、.NETの障害状態に対する自然なライブラリの例外などの本質的な利点が得られます。一方、DCOMでは、アプリケーションコードで失敗した配信とタイムアウトを適切に処理することを心配する必要があります。これだけで、このような条件を処理するために作成する必要のあるコードの量を大幅に減らすことができます。非同期呼び出しを使用すると、必要なときにいつでも長い操作を取り消すことができます。これをDCOMでうまく行うにはかなり注意が必要です。