ここで説明するように、Webとワーカーの役割を組み合わせたシナリオを実装しています。ここでは、ワーカーの役割に以下を追加するだけです。
public override void Run()
{
// This is a sample worker implementation. Replace with your logic.
Trace.WriteLine("WorkerRole1 entry point called", "Information");
while (true)
{
Thread.Sleep(10000);
Trace.WriteLine("Working", "Information");
}
}
投稿のコメントに記載されているように、問題は、このワーカープロセスがweb.configを読み取れないため、app.configを追加する必要があることです。app.configが自動的にデプロイされないことにも注意してください。
だから私の質問は、app.configがデプロイされるようにプロジェクトをどのように構成するのですか?
プロジェクトにapp.configを追加し、ビルドアクションを[コンテンツ]、[常にコピー]に設定しました
これはエミュレーターで正常に機能しますが、Azureにデプロイされた場合は機能しません。
注:エミュレーターでprojectname.dll.configが作成されていることに気付きましたが、Azureにデプロイされたときは作成されていません。VS2010、Windows AzureTools2011を使用しています
代わりに.cscfgファイルを使用することを提案する人もいますが、私のコンポーネントの多くは、web.config / app.configから設定を取得します:Elmah、一時的な障害処理クライアント、診断、電子メールなど。