日期:2014-05-17  浏览次数:20457 次

高手来来来!!!
我现在在做多个客户端对一个服务器的上的一个文件进行写入操作,看到好像要用到ReaderWriterLock类,求教

------解决方案--------------------
应当注意服务器上开启文件的读写权限
C# code
string tempStr = File.ReadAllText(@"C:\Documents and Settings\Administrator\桌面\Test.txt", Encoding.GetEncoding("GB2312"));//读取txt
                tempStr = "修改文件";
                File.WriteAllText(tempStr,@"C:\Documents and Settings\Administrator\桌面\Test.txt", Encoding.GetEncoding("GB2312"));//写入

------解决方案--------------------
读写的话 用file就可以了。
不行的话 就用流来做嘛。 只要权限正确 还是很好做的。 
只是要注意一下。 控制不能多个客户端同时修改一个文件。
------解决方案--------------------
线程同步锁定文件
------解决方案--------------------
asp.net是服务器程序,即使有多个客户端的话,服务器程序也支持一个,除非你使用了Web Garden. 
因此只是是要线程锁就可以。也就是

private static Object lockObj = new Object();

...

lock(lockObj)
{
//写文件。
}

------解决方案--------------------
。。这个 不太符合正常的思维吧。。
读取与写入这两个是会冲突的。 当你读取文件的时候 如果别人修改了这个文件。 系统会提示你是否继续查看更新的文件。 
如果你选择是,看的就是人家修改了的。 否就是原来的。

貌似这个控制会比较悲剧。