【发布时间】:2016-08-26 11:05:54
【问题描述】:
我正在使用 Visual Studio WebPerformance Tool,我的问题是我的所有 Web 测试都运行良好,但是当我运行负载测试(100 个用户)时出现异常“进程无法访问文件,因为它是被另一个进程使用”。我的结论是并发用户试图同时读取同一个文件。
在负载下不起作用的代码:
int x; //user number
if(File.Exists("C:\\Users\\Desktop\\Tests\\users5a.txt"))
{
var last_number = File.ReadAllLines("C:\\Users\\Desktop\\Tests\\users5a.txt").Last();
x = int.Parse(last_number) + 1;
}
else
x = 0;
System.IO.StreamWriter file = new System.IO.StreamWriter("C:\\Users\\Desktop\\Tests\\users5a.txt", true);
file.WriteLine(x);
file.Close();
【问题讨论】:
-
抛出异常的代码在哪里?
-
我已经编辑了我的问题,但同时我也找到了解决方案。谢谢
-
您可以将解决方案添加到您的问题中以帮助他人。
-
我做到了。上面添加了“有效的代码”。 @Cagy79
-
StreamWriter 实现IDisposable。您需要确保正确处理。
标签: c# performance load-testing webtest