2

Azureで明るいバックグラウンド処理を行うことを計画しています。私はすでにWebロールを実行していますが、専用のワーカーロールを使用する(そして支払う)必要がないように、同じロールを使用したいと思います。

Run()私は、から派生したWebRoleクラスで単純にオーバーライドし、そこRoleEntryPointに「貧乏人のスケジューリング」を実装できることを読みました。キューから定期的にメッセージを取得して処理する必要があります。

ここで私の質問は次のとおりです。WebRole独自のプロセスまたはスレッドで実行しますか、それとももっと重要なことですがWebRole、アプリプール/アプリドメインがリサイクルされるとどうなりますか?

4

2 に答える 2

2

フルIISモード(1.3 SDK以降で利用可能)で実行している場合、RoleEntryPointとIISは異なるプロセスにあります。<Sites>ServiceDefinitionに要素がある場合は、フルIISモードを使用していることがわかります。

IISは、独自のappPoolとして、実際にはw3wp.exeで(通常どおりに)Webサイトを実行します。RoleEntryPointコードは、完全に異なるプロセスによって起動およびペアレント化されるため、それらの間に関係はありません(たとえば、一方がクラッシュしても、もう一方に影響はありません)。

于 2011-11-14T21:45:37.203 に答える
2

@dunnryの答えに追加するには; また興味深いのは、このフォルダー内のアセンブリのコピーでrunが呼び出されることです。

e:\approot\bin

IISは、このフォルダー内のアプリケーションの別のコピーを指しています。

e:\siteroot\0
于 2011-11-14T23:27:26.433 に答える