2011-08-03 13 views
3

ちょうどAzureを探索し始めました。私はまだWebロールとワーカーロールの目的について混乱しています。私はモバイルアプリケーション(iPhone、Android、Windowsなど)で作業しているソリューションで、REST API経由で当社のサーバー製品にアクセスします。だから、実際には私たちのサービスのために(ウェブページのように)公開されているWebサイトはありません。WebロールのないWindows Azureプロジェクト?

私はWebロールは必要ないと思っていましたが、HTTPエンドポイントでリッスンしているのは1人のワーカーロールだけでした。私はこれらの線に沿ってプロトタイプを作成しました。モバイルデバイスからエンドポイントへのhttp投稿をしたとき、私は応答を返さない。 Azureのログには、実際に私の作業者の役割が開始されたか、実行されていて応答していることが示されていません。

これは適切なアプローチですか?私はウェブの役割を持っていないので、セットアップコードで何かする必要がありますか?別のスレッドでは、WebロールはIISで実行されますが、ワーカーロールでは実行されません。

私と一緒にお越しいただきありがとうございます。私はまだAzureと握っているので、正しい質問を策定するのに少し難しいです。

答えて

3

あなたの青い展開では、Webロールを持つ必要はありません。読んでいると、WebロールにはIISがあり、WebサイトにはIISがホストされています。ワーカーの役割は、基本的に、IISなしの単純な古いW2K8サーバーです。正直なところ、私はRDPに従業員ロールのインスタンスを持っていないので、私は100%あなたがIISを持っていないかどうかはわかりません。

しかし、WCFサービスを公開するためにWebロールは必要ありません。 nice example(背景色は作業が必要ですが)、これを行う方法を示します。

幸運を祈る!私はこれが役立つことを願っています

+2

技術的には、ワーカーロールにはIISがインストールされていますが、w3svcサービスは開始されていません。 – smarx

+0

ありがとう! ServiceHostを取得する良い例です。 – onnoweb

2

David Hoersterによると、各エンドポイントがhttp、https、またはtcpの任意のロールタイプで、最大25個の外部に向いているエンドポイントをホストすることができます。 WebロールとIISの場合、Webアプリケーションは通常、ポート80にマップされたエンドポイントを取得します。この場合、特定のポートに独自のエンドポイントを作成します。あなたはServiceHost(サービスをホストするために使用しているもの)を作成し、それをエンドポイントの1つにバインドする責任があります。これを行うには、各エンドポイントを特定の内部向きのポートに明示的にマッピングするか、エンドポイントのプロパティを調べて、どのポートが動的に割り当てられているかを調べる必要があります。あなたのプロトタイプコードを実行していますか?)。

エンドポイントをホストするときにIISが提供するメリットをお探しなら、Webロールを使用するほうが簡単ですVisual StudioからWebロールにWCFサービスを追加するのは簡単です)。

エンドポイントを自己ホストする場合でも、Webロールを使用できますが、実行中の未使用のIISサービスの余分なメモリが必要になります。

+0

はい、私はWebロールを持ってインフラストラクチャのいくつかの世話をすることに傾いています。クラウド・コンピューティング・プラットフォームでは、これだけではないということは奇妙なことです。 Google App Engineとはまったく異なります。 – onnoweb

+0

+1 - あなたはこれらのことについて何かを知っているようです。 :) –