Webconfig每分钟自动替换一次

本文关键字:一次 替换 每分钟 Webconfig | 更新日期: 2023-09-27 18:12:14

我的要求是在运行时启动应用程序时更新appsettings文件。但是遇到了一个问题,web配置每分钟都被新的应用程序所取代。我怎样才能停止每分钟更换一次呢?

我在这里经历了不同的解决方案,并实现如下:

    在web配置中,我们有appsettings的默认路径:
<>之前appSettings文件= " C: ' Config ' MyProj ' appSettings。配置"之前
  • 在Global.asax.cs中,我调用了下面的方法来动态地替换我的appsettings文件。<>之前ChangeAppSettings(字符串路径){System.Configuration.Configuration configuration = null;如果(System.Web.HttpContext。当前!= null){配置=System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~");}其他的{配置=ConfigurationManager.OpenExeConfiguration (ConfigurationUserLevel.None);}//更新appconfig文件路径configuration.AppSettings.File = path;//保存配置文件。configuration.Save (ConfigurationSaveMode.Modified);//强制在内存中重新加载已更改的section。ConfigurationManager.RefreshSection("appSettings");}之前

    还是有更好的实现方式?

  • Webconfig每分钟自动替换一次

    下面的代码做到了这一点,由于某种原因,每次刷新配置时都会调用ChangeAppSettings方法。所以我只是添加了检查配置是否已经修改,然后不再刷新。

    if (!path.Equals(configuration.AppSettings.File))
    {
        // update appconfig file path
        configuration.AppSettings.File = path;
        // Save the configuration file.
        configuration.Save(ConfigurationSaveMode.Modified);
        // Force a reload in memory of the changed section.
        ConfigurationManager.RefreshSection("appSettings");
    }