У нас есть приложение asp.net, которое может создавать файлы .air.
Для этого мы используем следующий код:
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();
Что ж, проблема в том, что иногда процессор сервера достигает 100%, что приводит к очень медленной работе приложения и даже к потере сеансов (мы думаем, что это проблема).
Есть ли какое-либо другое решение о том, как создавать файлы air или запускать внешний процесс без вмешательства в приложение asp.net?
Ура,
M.