问题描述
在我的WebApplication程序中,我写了以下C#代码:FileStreamtest=File.Open(@"D:test.dat",FileMode.Append,FileAccess.ReadWrite);BinaryFormatterbf=newBinaryFormatter();Hashtabletable=newHashtable();stringsKey="Key";stringsValue="Value";table.Add(sKey,sValue);bf.Serialize(test,table);test.Close();该段代码运行正常,但反序列化时发现Key/Value根本就没有写进test.dat文件。同样的这段代码,在ConsoleApplicatiom中就完全没有问题,Key/Value的值写进了test.dat文件。哪位帮帮忙,看看这是怎么回事。
解决方案
解决方案二:
解决方案三:
转成List再序列化
解决方案四:
应该是文件的权限问题,WebApplication操作本地文件需要单独的授权.
解决方案五:
帮你顶一下,没有做过序列化…………
解决方案六:
谢谢大家的关注,还是有些疑问。Tojzywh:转成List是什么意思,是Array吗?为什么?Toxxoo2007:很可能是权限的问题,该怎么设置,能仔细教教吗。
解决方案七:
"D:test.dat"如果希望webservice能保存文件到D:盘,需要在D盘的权限中增加"NETWORKSERVICE"用户对目录的读写权限.
时间: 2025-01-26 21:47:25