更好的建议外部配置文件

时间:2010-08-07 06:21:24

标签: c# silverlight file external config

我目前正在使用xml作为我的silverlight应用程序的配置文件。 我没有问题阅读文件,但现在我还需要通过网络更新文件(最好是silverlight,因为它会显示字体颜色,大小等的预览),我想到的唯一方法是生成整个文件并覆盖通过上传存在。

有更简单的方法吗?

1 个答案:

答案 0 :(得分:1)

好吧,找到了我自己的答案,也在这里分享。

当我读取xml文件时,我正在使用linq用于xml。 所以doc.save()有一个选项 通过这样做:

System.Xml.Linq.XDocument doc = System.Xml.Linq.XDocument.Parse(s);

System.Text.StringBuilder sb = new System.Text.StringBuilder();
System.IO.StringWriter sr = new System.IO.StringWriter(sb);
doc.Save(sr);
string ss = sb.ToString();//result
sr.Close();

我在ss中有一个已保存的xml文件。 然后使用Web客户端的OpenWriteCompleted,我使用了

Stream outputStream = e.Result;
byte[] fileContent = Encoding.UTF8.GetBytes(ss);
outputStream.Write(fileContent, 0, fileContent.Length);
outputStream.Close();

使用Web客户端的OpenWriteAsync,URI将是我的通用处理程序的uri。 在通用处理程序

FileStream fs = File.Open(context.Server.MapPath("~/ClientBin/" + "test.txt"), FileMode.Create);

byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = context.Request.InputStream.Read(buffer, 0, buffer.Length)) != 0)
{
   fs.Write(buffer, 0, bytesRead);
}
fs.Close();

归功于作者(Nipun Tomar)@,因为大多数想法来自他的网站

http://www.c-sharpcorner.com/UploadFile/nipuntomar/FileUploadsilverlight03182009030537AM/FileUploadsilverlight.aspx