代码之家  ›  专栏  ›  技术社区  ›  xanadont

Net中的运行时配置(特别是EntLib)

  •  2
  • xanadont  · 技术社区  · 16 年前

    Configuration cfg = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    ConnectionStringSettings connection = new ConnectionStringSettings();
    connection.Name = "Runtime Connection";
    connection.ProviderName = "System.Data.OleDb";
    connection.ConnectionString = "myconstring";
    cfg.ConnectionStrings.ConnectionStrings.Add(connection);
    cfg.Save(ConfigurationSaveMode.Modified);
    
    ConfigurationManager.RefreshSection("connectionStrings");
    var runtimeCon = DatabaseFactory.CreateDatabase("Runtime Connection");
    

    虽然它给了我想要的,但它永久地编辑了应用程序配置. 当然,我可以回去删除更改,但我不想经历这种麻烦。

    3 回复  |  直到 11 年前
        1
  •  1
  •   lomaxx    16 年前

    如果您使用的是winforms应用程序,可以尝试使用 UserProperties 以存储此信息。另一个可能的解决办法是 custom configuration sections .

        2
  •  0
  •   Jon Limjap    16 年前

    如果不想保存,则不需要执行cfg.保存命令。

    配置对象将存储您的更改,直到不再需要它为止。

        3
  •  0
  •   xanadont    16 年前

    不,您必须保存,以便EntLib(以及,我怀疑,任何其他工具)看到更改。