导出 (0) 打印
全部展开

使用 RoleEnvironment.Changing 事件

更新时间: 2013年11月

利用 Changing 事件,可以管理角色实例对配置更改的响应方式。通过使用 Changing 事件,实例可通过以下方式之一响应配置更改:

  • 实例可在运行的过程中接受配置更改而不必脱机。

  • 实例可以取消 Changing 事件,在这种情况下,Windows Azure 会使实例脱机,应用配置更改,然后使实例重新联机。

通过取消 Changing 事件,可以确保在应用配置更改之前,实例完成有序的关闭序列并脱机。在关闭过程中,Windows Azure 会引发 Stopping 事件,然后运行 OnStop 方法中的任何代码。

note注释
接受或取消 Changing 事件的时间是有限的。请确保事件处理程序可以及时返回。

在以下情况下,可能需要取消 Changing 事件:

  • 角色实例在运行过程中不支持配置更改,需要回收以便应用更改。

  • 角色实例正在执行不应由配置更改中断的工作,并且需要在应用更改之前完成关闭序列。

RoleEnvironmentChangingEventArgs 类提供了一个 Changes 属性,该属性可以返回即将应用于实例的配置更改集合。此集合中的对象可属于以下类型之一:

note注释
您可以查看正在更改的配置设置的名称,但在引发 Changed 事件前不能访问新值。

定义事件处理程序

  1. 打开在其中处理配置更改的源文件。

  2. 确保项目引用了 Microsoft.WindowsAzure.ServiceRuntime.dll 文件,并确保以下 using 语句已添加到该文件:

    using Microsoft.WindowsAzure.ServiceRuntime;
    
  3. 向 OnStart 方法添加以下代码以指定事件处理程序:

    
    public override bool OnStart()
    {
       RoleEnvironment.Changing += RoleEnvironmentChanging;
                
       return base.OnStart();
    }
    
  4. 向源文件添加以下事件处理程序方法:

    
    private void RoleEnvironmentChanging(object sender, RoleEnvironmentChangingEventArgs e)
    {
       // Add code for handling changes
    }
    
  5. 保存该文件。

另请参阅

显示:
© 2014 Microsoft