-1

すべての呼び出しとデータ転送が .NET で行われ、実行時にサービスを作成、使用できるようにする .NET 用のフレームワーク/コンテナーを探しています (「Web」サービスではありません)。 SOAP または HTTP を介したシリアル化 (つまり、WCF のように)。

このようなものはありますか?ありがとう

4

2 に答える 2

2

現在実行中の AppDomain を超えてデータを転送しようとすると、何らかのシリアル化が行われますが、それが何であるかは制御できます。

WCF では、バイナリ、SOAP、およびカスタム シリアライザーを使用できます。通信方法に関する限り、まだ多くのオプションがあります。WCF は、名前付きパイプ、TCP、HTTP、およびカスタム オプションをネイティブにサポートします。単一のマシン内で操作している場合、名前付きパイプは、高スループットで低レイテンシーの IPC を生成できる共有メモリを使用するため、おそらくあなたの要求に合うでしょう。

ただし、AppDomains を分離する必要がない場合は、Unity ( http://msdn.microsoft.com/en-us/library/dd203104.aspx ) などの IOC コンテナーまたはその他のオプションの使用を検討してください: https: //stackoverflow.com/questions/2515124/whats-the-simplest-ioc-container-for-c . IOC コンテナを使用すると、「サービス」をインスタンス化し、オブジェクトのインスタンス化の方法を知らなくても呼び出すことができます。WCF やその他の Web サービスが必要とするのと同じデカップリングの利点のいくつかを提供できます。

tl;dr: 2 つのプロセスが使用されている場合、常にシリアル化が行われます。IOC を試して、パフォーマンスへの影響を回避してください。

于 2012-10-04T19:53:52.437 に答える
1

WCF は SOAP over HTTP の使用を制限しません。これはよくある誤解です。WCF は、基になるさまざまなエンドポイントで使用できます。

WCF は、ほとんどすべての人がこの種のこと (それまたは .NET Remoting のいずれか) を使用する方法ですが、.NET Remoting はもうあまり見られません。

于 2012-10-04T19:16:44.950 に答える