ASP.NETアプリとワーカーロールの両方を設定しましたが、それらの間でどのように通信するのでしょうか。ソリューションは地理的に異なる場所に分散されるという考えだと思います。では、分散したワーカーとWebの役割を簡単かつ効率的な方法でリンクするにはどうすればよいでしょうか。私はWCFを調べ始めましたが、私にはやり過ぎで複雑すぎるように見えます。私が持っていたもう1つの考えは、Workerロール内でSignalRクライアントを使用して、Webロール内のサーバーと通信することでした。
編集:
正確なコンテキスト:
1)ユーザーがファイルをサーバーにアップロードする
2)サーバーはファイルをAzure Storageに送信し、ファイル名をCloudQueueに追加します
3)ワーカーはCloudQueueからファイル名を取得します
4)ワーカーは、Azure Storageからファイルを取得し、その処理を開始する新しいスレッドを開始します
5)ワーカー/スレッドは、ファイル処理のすべてのステップでアプリケーションにレポートを返します
6)アプリケーションはレポートを受信し、SignalRを使用して処理ステップをクライアントのブラウザーにリアルタイムで転送します。
私が見逃しているのは、ステップ2> 3です。新しいファイルが到着したことをワーカーにすぐに通知するにはどうすればよいですか?CloudQueueをポーリングすると、遅延が発生するため、ポーリングしたくありません。また、ステップ5> 6では、ワーカーはステップについてアプリケーションに通知する必要があり、これは遅滞なく行われる必要がありますが、このような場合にポーリングソリューションをどのように使用できるかわかりません。