2012-04-08 15 views
7

私はAppDomain-intra-processとinter-process-intra-machine間の通信を必要とするプロジェクトに取り組んでいます。はい...知っています... NET Remotingは広くレガシーテクノロジとみなされていますが、私は2つの非常に特殊な問題に直面しています。これらのシナリオでは、WCFはNET Remotingの完全な置き換えではありません。NET RemotingとMarshalByRefObjectは本当に死んでいますか?

1)間のAppDomain-内プロセス通信

私はスタートで作業し、より多くのアドインのいずれかを検索し、ロードする必要がありますよアプリケーション。別々のAppDomainに各addinをロードしたいと思います。彼のAppDomainで各Addinインスタンスを作成し、このインスタンスのインタフェースメソッドをある時点で呼び出す方法が必要です。ここではNET Remotingが唯一の方法です。また、我々はSystem.Addinsパラダイムを適用したい場合は、明らかにのみNET Remotingをベースと

2)プロセス間-機内通信ここ

私は確かに公開することができます...古いものとしてマークされていません私のアプリケーションはWCFサービスであり、Named Pipesを使ってクライアントからこのサービスを呼び出します。

私が本当にやりたいことは、アプリケーションからオブジェクトモデルを公開することです。Excelで公開されているOLE/COMオートメーションオブジェクトモデルのように、一部のNETクライアントからアプリケーションを自動化できるようにします。任意のCOMクライアントは、Excel.Applicationへのオブジェクト参照を取得し、開いているドキュメントをクエリしたり、いくつかの新しいドキュメントを開くことができます。

私はWCFがプラットフォームに依存しない方法で通信するのが良いと思います。しかし、この場合、NetクライアントからNetアプリケーションへの通信は、同じマシン上で行う必要があります。 WCFのサービス理念では、オブジェクト、コレクション、フィールド、静的メンバー、メソッドのオーバーロードなどの豊富なオブジェクトモデルを公開することはできません...または間違っていますか?

私の悪い英語と私の多分初心者の質問。

答えて

1

あなたがここに同様の質問への答えを読むことができます:私は比較的単純な双方向のプロセス間通信のために、最近、.NET Remotingを使用し、すべてが、ほぼシームレスに行ってきましたので、私が言うことができることを追加することができますIs .NET Remoting really deprecated?

マイクロソフトが積極的にサポートしていないすべての年月を経てもまだまだ使えるものです。

COMについては、COMクライアントが製品にアクセスするための強い要件がある場合は、COM相互運用機能を使用して明示的にCOMインターフェイスを実装することをお勧めします。また、関心のあるCOMと.NET Remotingを一緒に使用することに関する興味深い記事があります。http://msdn.microsoft.com/en-us/magazine/cc164085.aspx