首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对Azure ServiceConfiguration.Cloud.cscfg文件的更改

对Azure ServiceConfiguration.Cloud.cscfg文件的更改
EN

Stack Overflow用户
提问于 2012-12-19 05:02:57
回答 1查看 1.3K关注 0票数 1

当我对云部署的应用程序的设置文件(ServiceConfiguration.Cloud.cscfg)进行更改时,会发生什么顺序的事件?工作人员角色是否会重新启动,以便反映新的更改?(更改设置值时是否会触发OnStop、OnStart、Run事件?)

在我的云服务中,我从WorkerRole的Run()方法的配置文件中读取自定义值,并想知道对部署在云中的应用程序的ServiceConfiguration.Cloud.cscfg文件进行任何更改是否会重新触发OnStart和运行事件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-19 05:18:39

是的,您的实例将在每次配置更改后通过OnStop /(重启)/ OnStart / Run。例如,如果您将应用程序中的设置存储在一个静态变量中,那么让这种情况发生可能是一件好事。这样,在重新启动后,您的应用程序将重新启动,并且它将有机会重新初始化静态变量中的所有设置。

另一方面,如果您希望实例重新启动,您可以自己处理此更改(可能您在某个地方缓存了这些设置,或者初始化了一个没有这些设置的静态对象)。您需要通过处理RoleEnvironment.Changing事件来触发重新启动:

代码语言:javascript
复制
public override bool OnStart()
{
   RoleEnvironment.Changing += RoleEnvironmentChanging;

   return base.OnStart();
}

private void RoleEnvironmentChanging(object sender, RoleEnvironmentChangingEventArgs e) 
{
   if ((e.Changes.Any(change => change is RoleEnvironmentConfigurationSettingChange))) 
   {
      e.Cancel = true;
   }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13941467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档