微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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和性能不佳.

感谢大家的建议.

原文地址:https://www.jb51.cc/csharp/99052.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐