2016-04-06 155 views
0

我的應用程序使用自定義的.xml設置文件,我從中讀取了一些內容。現在它每次都從文件中讀取,並影響性能。將文件保存到緩存並從中讀取的最佳方式是什麼?讀取文件並將其保存在內存中

public static class SettingsReader { 
    private static XDocument SettingsFile = XDocument.Load(AppDomain.CurrentDomain.BaseDirectory + "\\Settings.xml"); 
} 
+0

使用靜態變量和讀取檢查,如果該變量是從文件中讀取 – Damirchi

+1

一切空讀取(反序列化'Settings'類)或組織緩存如果數據太大,不適合。 – Sinatr

回答

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) { 
      ... 
     } 
    } 
} 
相關問題