内存共享实现进程间通信及文件的并发访问

WYPGOOD 2015-10-06 09:48:56
如何使用MemoryMappedFile实现一个进程多线程写一个XML文件,另一个进程多线程读此XML文件。
通过创建CreateViewStream,一直提示少根元素:
Student stu = new Student()
{
Age = 10,
Class = "一般qw",
Name = "Tom",
Number = 1,
mac="goodbyte"

};
using (var memoryFile = MemoryMappedFile.CreateFromFile("c:\\x.xml", FileMode.Open, "substationfile", 100*1024, MemoryMappedFileAccess.ReadWrite))
{
using (var mmf = MemoryMappedFile.OpenExisting("substationfile"))
{
using (var ms = mmf.CreateViewStream())
{

XmlSerializer serializer = new XmlSerializer(typeof(Student));
serializer.Serialize(ms, stu);
var xmlClass = new XmlDocument();
xmlClass.Load(ms);// 出错少根元素

}
}
}

...全文
153 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
WY刘文 2015-11-08
  • 打赏
  • 举报
回复
没创建根元素?

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧