[英]Can Process.Start Be Executed concurrently on IIS
在IIS 6或更高版本上运行的ASP.NET Web应用程序(.NET 4.5.2)中定义了此方法:
public string GetValueFromProcess()
{
string val = string.Empty;
try
{
System.Diagnostics.Process p = System.Diagnostics.Process.Start(GetMyExeFilePath());
p.WaitForExit();
val = mainp.StandardOutput.ReadToEnd();
}
catch (Exception) { }
return val;
}
这样的功能是否可以并发执行而不会出现问题,还是我将它包装成一个锁 ?
显然,有一些参数需要传递给流程,但是为了简单起见,我删除了该部分。
该函数将阻止当前请求,等待“ p.WaitForExit();”。 去完成。 并发请求将产生多个进程。 您还需要考虑IIS请求脚本超时设置,该设置将引发ThreadAbort异常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.