组合的Azure Web角色和辅助角色项目在部署时未看到app.config

Pet*_*ack 6 app-config azure

我正在实现此处所述的组合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");
    }
}
Run Code Online (Sandbox Code Playgroud)

正如帖子的评论中所指出的那样,问题在于此工作进程无法读取web.config,因此您必须添加app.config.还注意到app.config不会自动部署.

所以我的问题是如何配置我的项目,以便部署app.config?

我已将app.config添加到我的项目中,将Build Action设置为"Content",然后"始终复制"

这项工作在EMULATOR中很精细,但在部署到Azure时却没有.

注意:我注意到在模拟器中创建了一个projectname.dll.config,但是在部署到Azure时却没有.我正在使用VS2010,Windows Azure Tools 2011

我知道有人会建议使用.cscfg文件,但我的许多组件都从web.config/app.config获取设置:Elmah,Transient Fault Handling Client,Diagnostics,Email等...

ast*_*kov 3

请仔细阅读这篇博文。它详细解释了具有完整 IIS 的 Windows Azure Web 角色中发生的情况。

您需要做的是添加一个WaIISHost.exe.config文件(复制到输出 = 始终复制)。并将您需要的所有配置放入该文件中。这是因为,您的代码 (RoleEntryPoint) 位于 WaIISHost.exe 进程中,而不是您的 pdojectName.dll 进程中。