web-dev-qa-db-ja.com

.NETリモーティングとWCF

.netリモーティングとWCFの両方から同じことを実行できるのかと思いますが、なぜ.NetリモーティングよりもWCFの方が好ましいのでしょうか。 .NETリモート処理またはWCFはどこで(またはどの状況で)選択できますか?

23
Saveen

。NET RemotingアプリケーションはHTTP、TCP、SMTPプロトコルを使用できますが、[〜#〜] wcf [〜 #〜]は、名前付きパイプとMSMQだけでなく、これらすべてのプロトコルを使用できます。

ここで最良の答えを見つけることができます: 。NET RemotingからWindows Communication Foundationへ

結論

ご覧のとおり、.NET RemotingからWCFへの移行は、恐れるべきタスクではありません。ほとんどのアプリケーションでは、簡単な3ステップのプロセスでアプリケーションを新しいプラットフォームに導入できます。ほとんどの場合、インターフェイスコントラクトを[ServiceContract]と[OperationContract]でマークし、データ構造を[DataContract]と[DataMember]でマークするだけで、クライアントではなくセッションに基づいてアクティベーションモデルの一部を変更できます。 -アクティブ化されたオブジェクト。

Windows Communication Foundationの機能を利用したい場合、.NET RemotingからWCFへの完全な移行は、ほとんどのアプリケーションにとってかなり簡単な作業です。

また、 Windows Communication Foundation(WCF)と既存の分散型通信技術とのパフォーマンス比較

ASP.NET Webサービス、WSE、.NETエンタープライズサービス、および.NETリモート処理で作成された分散アプリケーションをWCFに移行する場合、パフォーマンスは少なくとも他の既存のMicrosoft分散通信テクノロジーと同等です。 ほとんどの場合、WCFのパフォーマンスは他の既存のテクノロジーよりもはるかに優れています。 WCFのもう1つの重要な特性は、スループットパフォーマンスがユニプロセッサからクワッドプロセッサまで本質的にスケーラブルであることです

結果をまとめると、WCFはASP.NET Webサービスよりも25%〜50%高速で、.NET Remotingよりも約25%高速です。 .NET Enterprise Serviceとの比較は負荷に依存します。あるケースでは、WCFはほぼ100%高速ですが、別のシナリオではほぼ25%遅くなります。 WSE 2.0/3.0の実装の場合、それらをWCFに移行すると、明らかにパフォーマンスが4倍近く向上します。

23
Rahul Tripathi

コード名がIndigoであるWCF(Windows Communication Foundation)は、ソフトウェアの一部が相互に通信できるようにするテクノロジーです。

Windows Communication Foundationは、Microsoft .NET Frameworkクラスライブラリの2番目のバージョンである2.0バージョンに追加されたいくつかの新しいクラスセットで構成されています。

Webサービスの機能と.Net Remotingを提供します。コアの調査-Windows Communication Foundationは、ソフトウェア通信用のソフトウェアファクトリテンプレートを提供します。これは、サービスモデルと呼ばれるモデリング言語と、チャネルレイヤーと呼ばれるプログラミングフレームワークで構成されています。構成ファイルを使用するだけで、アドレス、バインディング、コントラクトで定義されたエンドポイントを構成できます。

ソースは [〜#〜] wcf [〜#〜]

1
Isuru Dilhan