2011-05-06 19 views
2

私はWPFを使用して開発される可能性の高い新しいRIAに取り組んでいます。このアプリケーションは、信頼性の低いネットワーク(3Gなど)を介してWebサービスと通信します。レコードを含む信頼できないネットワーク上での.NETクライアント/サーバー通信

  1. 「作成」操作が(たとえば新しい レコードが作成された)サーバー/ Webサービス上 成功しましたが、応答 - 私のようなシナリオで信頼性の高い通信を実現するにはどうすればよい

    識別子 は、クライアント アプリケーションに戻すことができませんでした。 アトミック操作する必要があります

  2. プロセスの支払い

は、ここでは最良の選択肢WCFとMSMQですかメッセージングフレームワークを使用せずに、信頼できないネットワーク(例えば3G)の信頼性を達成するために、既知の戦略とパターンがあります?

答えて

1

HTTP経由でMSMQを使用することは可能ですが、オープンソースRabbitMQ queuing frameworkを使用する方がずっと良いでしょう。また、シナリオで使用できるWCFバインディングも含まれています。 MSMQを使用したWCFはファイアウォールの内部には最適ですが、インターネットを意識して設計されていませんでした。

+1

このシナリオでは特にRabbitMQをMSMQよりも良い選択にするものは何ですか? –

+1

簡単な答えは、RabbitMQがHTTPをネイティブトランスポートの1つとして使用するように設計されており、MSMQが独自のバイナリトランスポートを使用するように設計されていることです。 MSMQは後でMicrosoftによってHTTPで動作するように微調整されましたが、この機能は既定のWCFバインディングではサポートされていません(netMsmqBindingはHTTPで動作しません)。 RabbitMQはHTTP経由のメッセージングを可能にするWCFバインディングを提供します。 RabbitMQはAmazon EC2クラウドサービスでもサポートされているので、インターネット経由で動作することがわかります。私はそれがあまりにも短い答えではなかったと思う... :) –

+0

私のコメントに更新RabbitMQのネイティブトランスポートはTCPであり、実験的なHTTPベースのトランスポートが働いています。混乱させて申し訳ありません。 –

関連する問題