1

こんにちは、Worker ロールを使用して新しい Azure プロジェクトを作成しましたが、WorkerRole.cs クラスに気付きました。その目的を調べてみましたが、明確な答えが見つかりませんでした。

4

2 に答える 2

3

WorkerRole.cs の目的は、Worker Role インスタンスの開始時に "何か" を実行するためのエントリ ポイントを提供することです。これは、開始しているコマンド ライン アプリケーション、WCF サービス、MySQL など、何でも構いません。

インスタンスを「生きている」状態に保つには、コードを記述する必要があることに注意してください。これを行わないと、Run メソッドの完了時に再起動されます。詳細については、次の質問をご覧ください: Using Thread.Sleep or Timer in Azure worker role in .NET?

于 2012-05-04T10:41:12.537 に答える
1

Windows Azure Worker ロールを理解するために使用できるものを次に示します。

  1. Windows Azure は Platform as a Service であり、専用の仮想マシンでアプリケーションを実行できます (極小インスタンスを除く)。
  2. Windows Azure アプリケーションのアプリケーション アーキテクチャは、Web ロール、Worker ロール、VM ロールと呼ばれる 3 種類のアプリケーションをサポートしています。

    2.1. Web ロールは、IIS が事前に構成され、アプリケーションの準備ができているアプリケーションと見なされます。ほとんどの場合、これは Web ベースのアプリケーションですが、必要に応じてそうでない場合もありますが、IIS は常に存在します。IIS では、ASP.NET アプリケーションまたは node.js アプリケーションのいずれかを実行できます。必要なアプリケーションの種類を決定するのはユーザーの選択です。

    2.2. Worker ロールは、IIS を必要としないアプリケーションと見なされます。Worker ロール、C#、Java、PHP、Python などで実行するものは自由です。これは主に、オープン ソースの Web アプリケーションまたはバックエンドとしてアクションを実行し、Web フロント エンドを必要としないアプリケーションに使用されます。

    2.3 VM ロールはベータ版であり、ユーザーがデプロイしたカスタム VHD で実行するために使用されます。次の説明でそれを考えます。

  3. これらのロールはすべて実際にはライブラリであり、DLL としてコンパイルされ、Windows Azure で実行する場合、実際にはホスト プロセスを実行する必要があります。Web Role の場合、ホスト プロセスは WaWebHost.exe または WaWebIIS.exe であり、WorkerRole の場合、ホスト プロセスは WaWorkerHost.exe です。

  4. これらのホスト プロセスが Windows Azure で開始されると、ロール DLL の名前と場所を提供するファイル コール E:__entrypoint.txt が検索されるため、ホスト プロセスはそれを見つけてロードします。

  5. これらの Web および Worker ロール クラスは、Web および Worker ロールが Windows Azure 環境で実行するために必要なすべての機能を拡張する RoleEntryPoint 基本クラスから派生します。

  6. Azure SDK テンプレートを使用して Web ロールまたは Worker ロールを作成すると、Web および Worker ロール クラスが必要な機能を実装できるこれらの基本コード ファイルが取得されます。ワーカー ロールの場合は WorkerRole.cs で定義された WorkerRole を呼び出し、Web ロールの場合は WebRole.cs です。

  7. Windows Azure ランタイムに固有のコードを追加することに決めた場合、つまり構成またはここに追加する設定をここに追加します。ロールがホスト プロセスを介して開始されると、WebRole.cs または WorkerRole.cs に追加したコードが Windows Azure ランタイムで実行されるためです。環境。

于 2012-05-07T01:50:08.007 に答える