azure角色设置非常有用,因为它允许您在 IIS 运行时即时更改值。但问题是,如果你有足够的用户,并且每次从文件中读取配置值时,最好不要将它放在静态变量中使用它。下一个问题是,如果您将其置于静态变量中,则每次更改时都必须重置 IIS 。我做了一些研究,并在 stackoverflow 上发现了类似的问题,它告诉我们只有第一次读取文件中的conf,然后才将其存储在缓存中。但是,回答的问题是 ConfigurationManager ,我的是来自 Azure 的 RoleManager 。
这是获取 azure 的当前设置的行:
RoleEnvironment.GetConfigurationSettingValue("Appname.settingKey");
这是将其保存在缓存中的一个,我知道它是如何工作的,并在 webconfig 中获取当前设置: connectionstring :
ConfigurationManager.ConnectionStrings["SettingKey"].ConnectionString;
答案 0 :(得分:7)
如果您按下类型,您可以访问: https://msdn.microsoft.com/en-us/library/azure/microsoft.windowsazure.serviceruntime.roleenvironmentchange.aspx
这是发送给Changed事件的类型,用于更改。
列出已更改的设置。请注意,它不包括更改的值,只包括设置的名称,这是因为Changed事件也会重置配置缓存,因此您可以在发生更改后再次读取它。
答案 1 :(得分:-1)
每次请求值时,它都不会读取配置。将在RoleEnvironment.Changed事件上刷新配置值。