8

この記事http://weblogs.asp.net/spano/archive/2007/10/02/choosing-the-right-wcf-binding.aspx を調べて、バインド オプションを選択しました。

何が意味するのかについて異常な疑問を抱いた場所

オフラインまたは切断された対話では、NetMsmqBinding を選択します

それは、サービスが実行されていなくても、クライアントがサービスを使用していることを意味しますか?

リアルタイムの例を共有できますか?

4

1 に答える 1

10

2 つのバインディングは根本的に異なります。

  • NetTcpBinding概念が似ている MS 独自の形式 (通常はバイナリ) と考えることがRPCできます (たとえば、 を置き換えるために使用できます.NET Remoting)。これは同期的です。つまり、クライアントとサーバーの両方が同時にオンラインである必要があり、クライアントは (ほとんど) すぐに応答を受け取ります。

  • MSMQMicrosoft によるメッセージ指向ミドルウェア ソリューションであり、非同期キューを中心に展開します。たとえば、クライアントがメッセージを送信するときに宛先サーバーがオフラインの場合、メッセージはサーバーがオンラインに戻るまでクライアントのキューに入れられます。各キューは一方向のみですが、サーバーからクライアントに戻る 2 つ目のキューを介して双方向通信を実現できます。WCF MSMQ メッセージを送信するには、MSMQサービスがクライアントにインストールされている必要があります。キュー上のメッセージには配信「タイムアウト」を設定できます。それ以外の場合は、該当するデッド レター キューに配置されます。

実際の例:

  • NetTcpBindingMicrosoft WCFクライアントとサーバー間の高性能で同期的な通信のニーズのためにバイナリシリアル化を使用します。たとえば、ファイルやメディアなどのアップロードXmlが役に立たない場合(そうでない場合はwsHttpBinding、同期Xml/SOAPメッセージングに使用します)
  • MSMQBindingDTC を有効にして、少なくとも 1 つのエンドポイントが .Net 内にある 2 つ以上のシステム (金融など) 間で信頼性の高いメッセージングを確保するためにWCF使用します。用のアダプターがあります。たとえば、 の間にブリッジが存在します)。メッセージは通常、ある形式になります。BizTalkEAIESBMSMQMSMQ and MQSeriesXml

TL;DR

それは、サービスが実行されていなくても、クライアントがサービスを使用していることを意味しますか

はい。MSMQローカルで実行されている場合、クライアントはすぐに戻ります正常な応答(メッセージがキューに入れられたことを示します)。ただし、これはメッセージがサーバーによって正常に受信されたことを意味するものではありません。

于 2012-09-10T10:52:02.553 に答える