我使用SquishIt捆绑我的脚本等,因此有一些代码在app启动时运行,它使用web.config的appSettings中指定的基本URL来配置捆绑包。我将代码更改为使用CloudConfigurationManager.GetSetting("CdnBaseHref")
,因为我希望能够在通过Azure门户部署应用程序后更新URL。
但是,更新URL不会导致应用程序启动代码再次运行,因此我使用更新的设置有一段代码,启动代码仍然使用旧设置,这当然会破坏所有内容。
如何在更新此设置后让每个角色实例重新运行启动代码?
答案 0 :(得分:3)
答案 1 :(得分:1)
您可以注册以侦听配置更改发生时触发的RoleEnvironment.Changing Event
。当您检测到此事件时,您可以“刷新"你的静态变量与新值。您可以在msdn page上阅读更多详细信息。在变更之后还会有RoleEnvironment.Changed Event
。这些事件可以在worker角色的OnStart()
方法中注册。