我有一个托管在 IIS 中的信号器服务器。集线器中有一个功能可以在 Windows 中启动 600 个进程,然后将它们杀死。
//start 600 processes
for (int i = 0; i < 600; i++)
{
try
{
Process myProcess = Process.Start(startInfo);
proclist.Add(myProcess);
Task.Delay(10).Wait();
}
catch(Exception e)
{
feedback = "Process " + i + " cannot be started: " + e.Message;
break;
}
feedback = "All processes are running.";
}
//kill them
foreach (var proc in proclist)
{
try
{
proc.Kill();
Task.Delay(10).Wait();
}
catch (Exception e)
{
feedback = "Process " + proclist.IndexOf(proc) + " cannot be killed: " + e.Message;
break;
}
feedback = "All Processes are killed.";
}
但是,当我在 Client 中调用此函数时,在终止进程时出现异常:
无法终止进程 104:Die Anforderung kann nicht verarbeitet werden, da der Prozess bedet wurde(请求无法继续,因为进程已终止。)
看来我只能保持 104 个进程运行。其余的在开始后立即终止。
- 我在控制台应用程序中尝试了同样的事情,所有进程都可以启动和终止。
- 我尝试使用另一个应用程序消耗大量内存,并且还可以保持 104 个进程运行。
- 我尝试使用另一个应用程序消耗大量内存,并且还可以保持 104 个进程运行。
- 我还检查了所有可能的 IIS 配置,但找不到与此问题相关的任何设置。
所以我想问一下是否有人知道如何在 ASP.NET 应用程序中启动更多进程。
如果有人可以帮助我,我将不胜感激。谢谢!