我正在开发一个代码,200 个不同的用户将使用它来访问单个文件。
对我来说,读取大量用户同时访问的文件的最佳做法是什么
FileStream stream = File.OpenRead(FileName);
byte[] contents = new byte[stream.Length];
stream.Read(contents, 0, (int)stream.Length);
stream.Close();
有什么更好的方法吗?
我正在开发一个代码,200 个不同的用户将使用它来访问单个文件。
对我来说,读取大量用户同时访问的文件的最佳做法是什么
FileStream stream = File.OpenRead(FileName);
byte[] contents = new byte[stream.Length];
stream.Read(contents, 0, (int)stream.Length);
stream.Close();
有什么更好的方法吗?
您应该使用重载方法并明确指定文件共享(否则UnauthorizedAccess
在打开多个流时会遇到异常):
var stream = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.Read);
只要它只是阅读 - 这应该可以正常工作。