我的应用程序使用自定义.xml设置文件,我从中读取了一些内容。现在它每次都从文件中读取并影响性能。将文件保存到缓存中并从那里读取的最佳方法是什么?
public static class SettingsReader {
private static XDocument SettingsFile = XDocument.Load(AppDomain.CurrentDomain.BaseDirectory + "\\Settings.xml");
}
答案 0 :(得分:1)
我通常会声明一个设置类。然后在启动时我读取配置文件并将其反序列化为Settings对象并将其保存在静态变量中。
通过这种方式,您只需访问所有地方的房产即可访问您的设置。
public class MySettings {
public string RemoteServerAddress { get; set; }
public int TcpCommunicationTimeout { get; set; }
}
public class Program {
public readonly static MySettings ProgramSettings { get; private set; }
static void Main(string[] args) {
var serializer = new System.Xml.Serialization.XmlSerializer(typeof(MySettings));
using(var stream = System.IO.File.OpenRead("config file path")){
Program.ProgramSettings = (MySettings)serializer.Deserialize(stream);
}
SomeMethod();
}
static void SomeMethod(){
if (Program.ProgramSettings.TcpCommunicationTimeout > 5) {
...
}
}
}