10/10/2018, 09:53

Cất giữ thông số cấu hình trong file xml

Mình sử dụng serilization để cất giữ value cấu hình trong file xml
write:
XmlSerializer serializer = new XmlSerializer(typeof(Category));
TextWriter writer = new StreamWriter(xmlFilePath);
//Serialize the Category and close the TextWriter
serializer.Serialize(writer, categoryObj);
writer.Close();
read:
XmlSerializer serializer = new XmlSerializer(typeof(Category));
TextReader reader = new StreamReader(xmlFilePath);
//Deserialize the Category and close the TextReader
Category categoryObj = (Category)serializer.Deserialize(reader);
reader.Close();
thế còn save thì như thế nào hả bạn chẳng lẽ lúc nào cũng overwrite àh ?
Mục đích cuối cùng của mình là để truy lục và thay đổi giá trị cấu hình.Mình đã tham khảo 1 số openS như wordpress,phpbb thì họ cất giữ value configuration site trong db, joomla thì để ở 1 file config.php riêng nhưng mình thấy kiểu ở asp.net để ở 1 file xml là hợp lý nhất.
jiSh@n viết 11:57 ngày 10/10/2018
rốt cuộc bạn muốn nói cái gì?
thuyduongcd viết 12:00 ngày 10/10/2018
truy lục hay thay đổi thì đằng nào chả phải thay đổi file (). Vậy thì chỉ việc read các tham số vào 1 mảng, cái nào cần thay thì thay, không thì giữ nguyên, sau đó write cái mảng này vào file lại. XML chứ có phải DB đâu mà đòi change if need.
hahakk viết 12:01 ngày 10/10/2018
Được gửi bởi jiSh@n
rốt cuộc bạn muốn nói cái gì?
Mục đích của mình là để cất giữ, truy lục và thay đổi giá trị cấu hình của site.

Được gửi bởi thuyduongcd
truy lục hay thay đổi thì đằng nào chả phải thay đổi file (). Vậy thì chỉ việc read các tham số vào 1 mảng, cái nào cần thay thì thay, không thì giữ nguyên, sau đó write cái mảng này vào file lại. XML chứ có phải DB đâu mà đòi change if need.
tức là cứ lúc nào chỉ cần thay đổi cầu hình của site thì cứ viết đè lên file cấu hình cũ là ok ?
public void Write (string path, object obj) //tuong duong voi Save luon
{
using (TextWriter textWriter = new StreamWriter(path))
{
XmlSerializer serializer = new XmlSerializer(_type);
serializer.Serialize(textWriter, obj);
}

}

public T Read(string path)
{
T result;
using (TextReader textReader = new StreamReader(path))
{
XmlSerializer deserializer = new XmlSerializer(_type);
result = (T)deserializer.Deserialize(textReader);
}
return result;

}


Mình muốn cấu hình cho các phần khác nhau của site thì nên chia như thế nào cho hợp lý ?Mình nghĩ nên chia theo các module khác nhau settingSite.xml,
settingArticle.xml,settingPoll.xml ... cứ thế ah` bạn vì nếu để chung thì quá nhiều ?
thuyduongcd viết 11:59 ngày 10/10/2018
Code:
<article>
<font>...</font>
<background>...</background>
....
</article>

<poll>
<font>...</font>
<background>...</background>
....
</poll>

....
cứ thế mà làm tiếp
hahakk viết 12:08 ngày 10/10/2018
nhưng khi setting mình chỉnh ở các phần khác nhau Ví dụ cấu hình chung thì General Setting, vào phần poll thì có pollSetting nếu để chung thì khi overwrite thì xử lý thế nào, mình nghĩ mỗi module sẽ có 1 file xml cấu hình riêng và riêng site thì có 1 file
Bài liên quan
0