“负载测试异常”文件正在被另一个进程使用.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();

“负载测试异常”文件正在被另一个进程使用.c#

成功了:

 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();