Pau*_*ner 14 configuration azure azure-worker-roles
在"内部部署"世界中,在创建类似Windows服务的应用程序时,我经常使用App.config文件来存储有关应用程序的各种配置信息,从数据库连接字符串到WCF端点信息.
在Azure Worker Role世界中,我现在看到.cscfg文件,据说包含"为角色"的信息.
我不明白这些文件是否用于补充应用程序的配置,或完全替换App.config文件.这两个文件如何配置Azure Worker角色?
Gau*_*tri 17
非常基本的说明:
从概念上讲,它们是一样的.在传统应用程序中,您使用app.config文件来定义与应用程序相关的各种设置(在appSettings部分中).同样,您使用cscfg文件来定义与云应用程序相关的各种设置(在ConfigurationSettings部分中).与app.config文件一样,您可以在cscfg文件中定义其他内容(例如,您的云应用程序的实例数).
如果需要,您仍然可以在app.config文件中定义一些设置,但要记住的一件事是app.config文件被"打包"并部署,为了更改设置,您必须重新打包应用程序并部署它.但是,您可以使用门户网站或Service Management API动态更改cscfg文件中的设置,而无需重新打包和重新部署应用程序.例如,考虑您在设置文件中定义数据库连接字符串的场景.如果在app.config中指定,为了更改它,您需要在app.config文件中进行更改 - >构建应用程序 - >发布应用程序.在cscfg文件的情况下,您只需在门户中更改此值.
San*_*tia 13
对于Web/Worker角色,传统配置文件(app/web.config)将像在本地部署中一样继续工作.但重要的是要知道该文件包含在服务包中,这意味着它是部署的一部分.
这意味着您无法在不重新部署应用程序的情况下更改app/web.config中的设置.另一方面,ServiceConfiguration.cscfg是在Cloud Service部署位置级别定义的,位于实际Service Package旁边.这意味着您无需重新部署应用程序即可更改此配置文件.也可以通过调用RoleEnvironment.GetConfigurationSettingValue(类似于ConfigurationManager.AppSettings)从您的应用程序访问这些设置.
如果您考虑构建可在本地和Windows Azure中运行的应用程序,请考虑使用Microsoft.WindowsAzure.ConfigurationManager包.它会根据应用程序的运行位置自动选择cscfg或app/web.config.
提示:通过订阅RoleEnvironment.Changing/Changed事件,您可以拦截对此配置文件的更改.您可以处理此问题以更新代码中的web.config(例如,此处说明).
| 归档时间: |
|
| 查看次数: |
8373 次 |
| 最近记录: |