我正在实现组合的Web/Worker角色场景,如这里所述,您只需将以下内容添加到您的工作角色:
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 Azure Tools 2011。
我知道有些人会建议使用.cscfg文件,但我的许多组件都从web.config/app.config文件中获取它们的设置:Elmah、瞬态故障处理客户端、诊断、电子邮件等等...