sha*_*oth 5 .net settings web-config azure azure-web-roles
我有一个Azure Web角色,我想在web.config下<appSettings>标记一些设置.是的,我知道服务配置文件,但我有理由更喜欢web.config.
当我执行时(从这里):
System.Configuration.Configuration rootWebConfig =
System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(null);
if (rootWebConfig1.AppSettings.Settings.Count > 0) {
}
Run Code Online (Sandbox Code Playgroud)
设置计数始终为零,尽管我已经添加了一个键值对<appSettings>.
我究竟做错了什么?是否可以从Web角色入口点读取web.config中的设置?
Run*_*sen 12
原因是Microsoft自Azure SDK 1.3以来引入了完整的IIS功能.这样做的副作用是RoleEntryPoint与Web应用程序的其余部分隔离开来.
以下来自微软博客文章的摘录描述了您所看到的内容.
...使用完整的IIS,RoleEntryPoint在WaIISHost.exe下运行,而网站在正常的IIS w3wp.exe进程下运行.
...所以它希望它的配置在一个名为WaIISHost.exe.config的文件中.因此,如果您在Web项目中创建具有此名称的文件并将"复制到输出目录"属性设置为"始终复制",您将发现RoleEntryPoint可以愉快地阅读此内容.
除了提到的解决方案,一个选项可能是尝试使用Hosted Web Core(HWC)模式而不是完整的IIS模式.
Azure SDK 1.3 -1.7将在WaIISHost.exe.config中查找
Azure SDK 1.8+将在WebRoleProjectName.dll.config中查找.
通过对SDK的最新更改,您应该能够在项目中放置app.config,然后您的角色入口点应该可以访问它.
| 归档时间: |
|
| 查看次数: |
2724 次 |
| 最近记录: |