问题我有以下代码读取文件与StreamReader的,ThreadSafety和读取模式
StreamReader str = new StreamReader(File.Open(fileName, FileMode.Open, FileAccess.Read));
string fichier = str.ReadToEnd();
str.Close();
这是一个asp.net web服务的一部分,并在生产中一直在努力罚款的一年了。现在随着服务器负载的增加,客户已经开始变得“文件已被使用”错误。该文件正在从该代码读取,并且从不写入应用程序。
我清楚地看到的一个问题是我们没有缓存文件的内容以供将来使用。我们会这样做。但我需要明白为什么以及如何解决这个问题。
是否因为多个线程试图读取文件?我读到StreamReader不是线程安全的,但为什么当我在Read模式下打开文件时它会成为问题?