2011-08-12 5 views
1

私は2つのWebアプリケーションをWebロールで実行しており、紺碧のクラウドでは1つのインスタンスしか実行しません。私はこれらの2つのアプリケーションの間で通知を送受信したいと思います。外部ユーザーはそれらにアクセスできないはずです。そこにWebサービスへのアクセスを部外者をブロックする 方法ですと同じシステムからのみ 要求が成功する(VIPと要求IP 比較かもしれませない限り、それらの両方でWebサービスが出ていること、紺碧のWebロールインスタンスで実行中の2つのWebアプリケーション間の通信

  1. それ以外の何かをするだろうか?)。
  2. ファイルシステムの監視員。 Local Storageを作成し、それを ウェブアプリで使用し、ファイルwebappAとwebappBを見てみましょう。
  3. Azure Storage Queuesを使用します。
  4. MSMQ - azureでサポートされていないものとして興味がありません。

紺碧のWebロール で私に利用できる他のオプションをリストしてください。前もって感謝します。

注:2つのWebアプリケーションを実行しているインスタンスを1つしか実行していないため、内部エンドポイントの提案は避けてください。

+0

LocalStorageのファイルシステムウォッチャーは機能しません。ローカルストレージはローカルです。 :-)(それぞれのVMはローカルディスクのように独自のVMを持っています) – smarx

+0

要件から判断すると、Azure Queueは必要なものだと思われます。 –

+0

Azureキューを使用することは、私が投票するオプションです。私が書いたいくつかのアプリでは、2つの役割のコミュニケーションを円滑にするためにそれらを使用しました。役割内の2つのアプリで異なることはありません。私はこの点で何の問題も抱えていない(木をノックする)。 –

答えて

3

内部エンドポイントでリッスンするように「プライベート」Webサービスを設定できます。これらは外部からアクセスできません。 InternalとマークされたWebAppOneエンドポイントとWebAppTwoエンドポイントを持つことができます。次に、ロール環境を照会して、それぞれの割り当てられたポートを検出し、ServiceHostを起動します。

または...あなたは限り、情報を渡すためにキューを使用することができます:あなたはそれはあなたが、少なくとも」で検索されるメッセージでOKだ

  • 非同期された状態でOKだ

    • たら、あなたはおそらく順番

    または...あなたのアプリがAzureのテーブルに情報を書くことができるの外を見てされているメッセージでOKです。テーブルを外部に公開する必要はありません。

  • +0

    私はすべてのストレージの提案(キュー、ブロブ、テーブル、組み合わせ)が好きです。私は "プライベート" Webサービスについてはあまりよく分かりません。私の理解では、これらは2つの別々のアプリケーション(同じアプリ内で2つの役割ではない)なので、内部のエンドポイントは機能しません。 – smarx

    +0

    +1 - Azureテーブルは良い提案です - すばやく汚れたキューのようなものでしょうか? –

    +0

    キューが必要な場合は、キューを使用します。非同期通信と同期通信が必要な場合、同期通信用にローカルホストWCFサービス(2つ)を非同期または設定する(つまり、各Webアプリケーションにリスナーがあり、その他にクライアントがある)場合は、ストレージソリューションを使用します。 – dunnry

    関連する問題