【问题标题】:Store dotnet app settings in database instead of app.config将 dotnet 应用程序设置存储在数据库中,而不是 app.config
【发布时间】:2012-02-19 13:39:33
【问题描述】:

到目前为止,我已将所有应用程序(键值对)设置存储在我的 Windows 窗体应用程序的 app.config 中。我想改变它,因为

  • 我应该按用户存储设置(不是 win 用户,而是我的应用程序用户)
  • 必须存储一些机密设置
  • 我有几个客户端连接到同一个数据库,所以一个应用用户可以从任何客户端登录
  • 写入配置文件时可能会出现问题,导致给定 Windows 用户的应用文件夹可能是只读的

为此目的使用 config 非常舒服,但由于这些问题,我无法使用它。

我的问题是,是否有一个开箱即用或经过良好测试、广泛使用的库/类/方式可以从数据库读取/写入键值对设置?

【问题讨论】:

标签: c# .net winforms settings config


【解决方案1】:

您可以查看Cinchoo Framework。你可以使用'Configuration Storage Plug-in',这是Cinchoo配置框架的扩展。使用它,您可以编写自己的自定义配置插件并在您的应用程序中使用它们。希望对您有所帮助。

【讨论】:

  • 看起来很有前途!乍一看,我唯一不清楚的是,我的应用程序用户是否可以开箱即用地读取/存储设置。通过配置中的单独部分或任何其他方式。
  • 如果我想将设置存储在 xml 中,而不是 db 中,是否可以通过编程方式配置配置文件名。然后文件可以被用户使用。
  • 回答第二个问题。是的,您可以使用 Cinchoo 框架。请访问cinchoo.com/2012/06/26/cinchoo-configuration-framework-part-23
  • 回答您的第一个问题。是的你可以。但是,当不同的应用程序同时将配置设置写入同一个文件时,它可能会带来严重的问题。为避免,让它们分开配置文件。 [ChoConfigurationSection("applicationSettings1", ConfigFilePath="C:\test1.xml")] 公共类 ApplicationSettings1 : ChoConfigurableObject { } [ChoConfigurationSection("applicationSettings2", ConfigFilePath="C:\test2.xml")] 公共类 ApplicationSettings2 : ChoConfigurableObject { } 希望这会有所帮助。
【解决方案2】:

如果我正确理解您的问题,您希望为您的应用程序存储每个用户的配置信息。您可能想尝试 ASP.NET 配置文件属性(自 2.0 起可用)。该功能与通常用于安全性的角色提供程序非常吻合。

http://msdn.microsoft.com/en-us/library/ie/2y3fs9xs.aspx.

【讨论】:

  • 每个用户只是我配置设置问题的一小部分
  • 在这种情况下,汤姆,您需要提供有关您的需求的更多信息
猜你喜欢
  • 2011-12-23
  • 1970-01-01
  • 2012-02-02
  • 1970-01-01
  • 1970-01-01
  • 2017-06-24
  • 1970-01-01
  • 2010-09-22
  • 1970-01-01
相关资源
最近更新 更多