加载应用程序选项的建议

时间:2012-07-03 06:20:57

标签: c# .net configuration persistence

我想创建一个WinForms应用程序。 此应用程序将包含许多可配置选项,这些选项将保存在数据库中,因此可以在执行过程中保留它们(例如打印设置,设计选项等)。

您建议采用哪种方法来加载这些选项,以避免频繁访问数据库?

谢谢!

2 个答案:

答案 0 :(得分:0)

存在一些问题,保存在数据库中的设置将由所有用户共享。在这种情况下,您考虑为每个用户设置设置。更好的选择是保存在本地配置文件中,可以加密和使用。如果需要在用户之间共享任何内容,则可以将db用于该特定选项。您可以在加载应用程序之前加载这些选项,并通过对象访问它。

您可以通过向用户显示进度来在SPlash屏幕中执行这些数据库提取操作。

答案 1 :(得分:0)

如果安全性不重要,您还可以将设置保存在表单读入的xml文件中。您可以使用一个类来加载您需要的属性。

http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx

[Serializable()]
public class Defaults
{
    public string Description { get; set; }
    public double Tolerance { get; set; }
    public string Units { get; set; }
 }

internal class FormDefaults
{
public void LoadSettings()
    {
      string kfileString = @"C:\Default_Settings.xml";

      var q = from el in XElement.Load(kfileString).Elements()
                select new FormDefault()
                {
                    Description = el.Element("InstrumentDescription").Value,
                    Tolerance = Double.Parse(el.Element("InstrumentMassTolerance").Value),
                    Units = el.Element("InstrumentMassUnits").Value,

                };
        }
    }
}

这非常粗糙,但我有类似的东西,效果很好,很容易设置。

干杯