“负载测试异常”文件正在被另一个进程使用.c#
本文关键字:另一个 进程 测试 负载 异常 文件 | 更新日期: 2023-09-27 18:04:12
我正在使用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();
成功了:
EventWaitHandle waitHandle = new EventWaitHandle(true,EventResetMode.AutoReset, "SHARED_BY_ALL_PROCESSES");
waitHandle.WaitOne();
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();
file.Dispose();
waitHandle.Set();