Azure 工人角色配置的WaIISHost.exe.config与app.config

Azure 工人角色配置的WaIISHost.exe.config与app.config,azure,Azure,帖子在描述如何最好地将web.config设置加入Azure worker角色时似乎存在冲突。一些帖子说,您需要创建WaIISHost.exe.config,将输出设置为“始终”,然后将相关的web.config信息复制到该文件中。其他帖子描述了app.config而不是WaIISHost.exe的创建。哪一个是正确的?在您的上一篇文章中,我建议您需要花一些时间来了解Windows Azure网站和Windows Azure云服务,因为您正在混合在一起 如上所述,您将web和worker角色混合

帖子在描述如何最好地将web.config设置加入Azure worker角色时似乎存在冲突。一些帖子说,您需要创建WaIISHost.exe.config,将输出设置为“始终”,然后将相关的web.config信息复制到该文件中。其他帖子描述了app.config而不是WaIISHost.exe的创建。哪一个是正确的?

在您的上一篇文章中,我建议您需要花一些时间来了解Windows Azure网站和Windows Azure云服务,因为您正在混合在一起

如上所述,您将web和worker角色混合在一起。WaIISHost.exe是Windows Azure Web角色主机进程,负责加载和运行Web角色DLL。此进程与工作者角色无关,因为它甚至不存在于Windows Azure工作者角色中。此过程仅对Web角色可用。正因为如此,您上面的问题“WaIISHost.exe.config vs.app.config for worker role config”是不相关的

App.config配置用于Web角色和工作人员角色,但是Web.config仅用于Web应用程序。因此,如果您只想配置角色,您可以使用app.config(同时使用web和worker角色),但是对于网站配置,您可以使用web.config


如果你只是用简单的话写下你的最终目标,你肯定会得到关于如何做到这一点的确切帮助和建议

这个问题的答案取决于您使用的SDK版本。首先也是最重要的一点,WaIISHost.exe.config仅适用于Web角色(而不是工作角色)。工作角色使用并继续使用app.config进行配置设置。我将在这里假设您正在尝试在配置设置中配置Web角色的RoleEntryPoint


现在,对于Web角色:如果您正在使用最新的SDK(编写本文时为1.8),您将发现创建WaIISHost.exe.config文件(以及复制本地文件等)不再有效。最新SDK中的某些内容已更改,它将不再提取这些值。对于SDK的早期版本,您仍然可以这样做。对于最新版本(以及可能的后续版本)1.8,您可以创建app.config。当您这样做时,它实际上会在bin目录中创建一个文件,如“WebRoleProjectName.dll.config”。您不必自己手动创建此文件并“复制本地”。只需像平常一样创建app.config,您就会发现您在Web角色中的RoleEntryPoint就可以这样配置。

谢谢!我感谢你的帮助。这是我的目标…我有一个工作的MVC应用程序。此MVC应用程序中的控制器调用web服务端点(服务端点不在Azure中-它托管在其他位置)。当我在本地调试模式下运行我的MVC应用程序时,该应用程序运行良好。当我将MVC应用程序推送到Azure时(顺便说一句,我尝试了Azure网站和云服务),该应用程序无法工作。具体地说,在controller中,我可以注释掉controller中的服务调用,所有这些都可以再次正常工作,因此我确信服务端点配置信息不会以某种方式发布。web角色中的app.config的问题是,它目前无法通过UI的发布来部署。。。commandYeah,如果通过Visual Studio UI部署,app.config将不适用于web工作者角色,但如果您将配置文件命名为:ProjectName.dll.config并将其设置为“始终复制”,则它将工作。我也遇到了同样的问题。在构建过程中,app.config被重命名为.dll.config,并直接移动到bin文件夹。bin文件夹中的任何内容都将打包并部署到web角色。您确定根目录中有app.config,并且在生成后检查了bin目录吗?对我来说效果很好。编译.dll.config也是从web.config(Azure SDK 2.2)创建的,但是
web.config
不会作为
.dll.config
复制到输出目录吗?