每次从cfg文件读取RoleEnvironment.GetConfigurationSettingValue吗?

Fes*_*ani 10 .net c# iis azure

azure角色设置非常有用,因为它允许您在IIS运行时即时更改值.但问题是,如果你有足够的用户,并且每次从文件中读取配置值时,最好不要将它放在静态变量中使用它.下一个问题,如果你把它放在一个静态变量中,那么你每次更改它时都必须重置IIS.我做了一些研究,并在stackoverflow上发现了类似的问题,它告诉我只有第一次读取conf文件,然后将它存储在缓存中.但是回答的问题是ConfigurationManager,我的是来自Azure的RoleManager.

这是获取azure当前设置的行:

RoleEnvironment.GetConfigurationSettingValue("Appname.settingKey");
Run Code Online (Sandbox Code Playgroud)

这是一个将其保存在缓存中,我知道它是如何工作的,并得到电流设定例:ConnectionString的webconfig:

ConfigurationManager.ConnectionStrings["SettingKey"].ConnectionString;
Run Code Online (Sandbox Code Playgroud)

Mat*_*ark 7

https://msdn.microsoft.com/en-us/library/azure/microsoft.windowsazure.serviceruntime.roleenvironment.changed.aspx 以下是更改的链接.

如果您按照类型关闭,您可以访问:https: //msdn.microsoft.com/en-us/library/azure/microsoft.windowsazure.serviceruntime.roleenvironmentchange.aspx

这是一般发送给Changed事件的类型.

具体来说,这是配置值更新:https: //msdn.microsoft.com/en-us/library/azure/microsoft.windowsazure.serviceruntime.roleenvironmentconfigurationsettingchange.aspx

这会列出已更改的设置.请注意,它不包括更改的值,只包括设置的名称,这是因为Changed事件还会重置配置缓存,因此您可以在发生更改后再次读取它.