处理环境配置更改的推荐方法是什么?

时间:2010-09-01 14:22:25

标签: configuration azure

我猜它正在创建第二个.csfg文件,但配置的东西是硬件连接到Azure项目类型,所以我不太确定。

例如,如果我希望staging and live指向不同的sql-azure数据库,我该怎么做呢?

由于

1 个答案:

答案 0 :(得分:3)

假设您希望能够动态进行更改,几乎就像修改web.config并在IIS中循环应用程序池一样,使用多个服务配置(.cscfg)文件是最佳方法。

Azure允许您(使用Portal和Service Runtime API)即时更改服务配置。您可以设计应用程序以响应此操作,并根据您应用的更改完全控制行为。

要实现这一点,您需要做两件事:

(1)将您希望能够在运行时更改的设置从传统应用程序或web.config迁移到.cscfg。(在服务定义(.csdef)中声明)< / p>

(2)钩住事件处理程序以进行环境变更

using Microsoft.WindowsAzure.ServiceRuntime;

// fired when a change is detected, prior to it being applied
    RoleEnvironment.Changing += RoleChanging; 
// fired when a change is completed, after its applied
    RoleEnvironment.Changed += RoleChanged; 

从那里你可以决定是否只想使用新变量重新实例化某些对象,或采取更激烈的行动,例如回收角色。