gpt4 book ai didi

azure - 对 Azure ServiceConfiguration.Cloud.cscfg 文件的更改

转载 作者:行者123 更新时间:2023-12-03 01:56:51 25 4
gpt4 key购买 nike

当我更改云部署应用程序的设置文件 (ServiceConfiguration.Cloud.cscfg) 时,发生的事件顺序是什么?辅助角色是否会重新启动以反射(reflect)新的更改? (更改设置值时是否会触发 OnStop、OnStart、Run 事件?)

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

最佳答案

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

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

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

关于azure - 对 Azure ServiceConfiguration.Cloud.cscfg 文件的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13941467/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com