代码之家  ›  专栏  ›  技术社区  ›  Ian1971

处理环境配置更改的建议方法是什么?

  •  0
  • Ian1971  · 技术社区  · 16 年前

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

    例如,如果我希望分段和实时指向不同的SQL Azure数据库,我该怎么做呢?

    谢谢

    1 回复  |  直到 16 年前
        1
  •  3
  •   Taylor Bird    16 年前

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

    Azure允许您(同时使用门户和服务运行时API)动态更改服务配置。您可以设计应用程序对此作出响应,并根据应用的更改完全控制行为。

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

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

    (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; 
    

    在那里,您可以决定是使用新的变量简单地重新实例化某些对象,还是采取更剧烈的操作,例如回收角色。