gpt4 book ai didi

c# - 如何在不干扰网站的情况下从 asp.net 启动进程?

转载 作者:行者123 更新时间:2023-11-30 15:10:47 25 4
gpt4 key购买 nike

我们有一个能够创建 .air 文件的 asp.net 应用程序。为此,我们使用以下代码:

System.Diagnostics.Process process = new System.Diagnostics.Process();

//process.StartInfo.FileName = strBatchFile;
if (File.Exists(@"C:\Program Files\Java\jre6\bin\java.exe"))
{
process.StartInfo.FileName = @"C:\Program Files\Java\jre6\bin\java.exe";
}
else
{
process.StartInfo.FileName = @"C:\Program Files (x86)\Java\jre6\bin\java.exe";
}
process.StartInfo.Arguments = GetArguments();
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.UseShellExecute = false;
process.PriorityClass = ProcessPriorityClass.Idle;

process.Start();

string strOutput = process.StandardOutput.ReadToEnd();
string strError = process.StandardError.ReadToEnd();

HttpContext.Current.Response.Write(strOutput + "<p>" + strError + "</p>");

process.WaitForExit();

现在的问题是,有时服务器的 cpu 会达到 100%,导致应用程序运行非常缓慢,甚至会丢失 session (我们认为这是问题所在)。

关于如何在不干扰 asp.net 应用程序的情况下生成 air 文件或运行外部进程,是否有任何其他解决方案?

干杯,

最佳答案

问题在这里:process.WaitForExit();,您只是暂停了应用程序的执行。您可能希望使用线程来启动进程和某种 IPC(进程间通信,如远程处理、命名管道)来了解生成何时完成。

关于c# - 如何在不干扰网站的情况下从 asp.net 启动进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2989010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com