2012-03-02 87 views
0

我有一個網絡海報應用程序,我想爲它創建一個「定義」文件。基本上只是一些我在啓動時導入到程序中的字符串。我希望它們在外部源中,這樣我就可以在不更改可執行文件的情況下更新它。winform c的持久數據#

我正在考慮創建一個新的靜態類,例如「PosterDefinition」,並在應用程序啓動時導入定義文件,並從那裏設置PosterDefintion值。至於我將如何保存它,也許序列化程序本身的數據(一次性過程)。

請分享您的想法。

謝謝。

回答

0

我建議你將它保存在一個XML文件中。這將允許您使用LINQ-XML快速獲取數據。你可以做的是使屬性看着文件進行更改。您可以緩存Application對象中的值。在幾個請求之後,或每個請求之後,檢查文件。因爲LINQ或者更好的PLINQ,能夠快速執行,請求不會花費很長時間。

下面是一個示例XML文檔:

<?xml version="1.0" encoding="utf-8"?> 
<Definition> 
    <Item> 
     <Title>t</Title> 
     <Something>Pie</Something> 
    </Item> 
</Definition> 

這裏是如何訪問一個項目的事情與標題t

using System.Xml; 
using System.Xml.Linq; 

XElement element = XElement.Load("definitions.xml"); 
XElement item = (from item in element.Elements() 
       where item.Elements().Where(i => (string)i.Element("Title") == "t") 
       select item.Element("Something")).First(); 

我沒有帶測試這一點,我不擅長LINQ所以檢查這一點。

+0

XML可以被用戶輕鬆讀取,我不希望發生這種情況。我會嘗試使用二進制格式化程序。 – TheGateKeeper 2012-03-02 08:51:35