c# – 当使用.NET附加到大文件时,如何避免过多的网络文件I/O?

前端之家收集整理的这篇文章主要介绍了c# – 当使用.NET附加到大文件时,如何避免过多的网络文件I/O?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个程序打开一个大的二进制文件,向它添加少量数据,并关闭文件.
FileStream fs = File.Open( "\\\\s1\\temp\\test.tmp",FileMode.Append,FileAccess.Write,FileShare.None );
fs.Write( data,data.Length );
fs.Close();

如果test.tmp在运行此程序之前为5MB且数据阵列为100字节,则此程序将导致超过5MB的数据通过网络传输.我原本以为文件中的数据不会通过网络传输,因为我没有读它或写它.有什么方法可以避免这种行为吗?这使得追加非常大的文件非常缓慢.

解决方法

0xA3在上面的一个提交中提供了答案.性能不佳是由于访问时病毒扫描造成的.每次我的程序打开文件时,病毒扫描程序都会读取文件的全部内容以检查病毒,即使我的程序没有读取任何现有内容.禁用按访问病毒扫描可消除过多的网络I / O和性能不佳.

感谢大家的建议.

猜你在找的C#相关文章