我了解我的 Web Role Web 应用程序项目中的 WebRole 模块在 WAIISHost.exe 中运行,而应用程序的其余部分在 W3WP.EXE 中运行。因此无法从 WebRole 应用程序域读取 web.config 设置。
这可以通过在 Web 项目文件中创建一个特殊的“waiishost.exe.config”并将“复制到输出目录”属性设置为“始终复制”来解决。
没关系。但是,现在,我在 ServiceConfiguration 和 web.config 和“waiishost.exe.config”中有配置设置。不过,这只是一个小而烦人的问题。最大的问题是,当我发布我的 Azure 项目时,ServiceConfiguration 和 web.config 会自动转换为生产值,而 waiishost.exe.config 不会转换,所以我最终将开发配置进入生产环境。(生产环境尚未上线,所以还不是主要问题)
任何人都可以想到我如何让发布过程转换 waiishost.exe.config 的任何想法吗?也许我可以运行某种启动过程,它可以在 waiishost.exe 启动之前简单地将 web.config 文件复制并重命名为waiishost.exe.config。
顺便说一句,我不能简单地将配置移动到 ServiceConfiguration 文件,因为我有整个配置部分和第三方组件使用的连接字符串,例如 ServiceBusConfiguration 部分。
非常感谢