可以在IIS上同时执行Process.Start

时间:2014-11-20 04:47:56

标签: c# asp.net .net iis process

此方法在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;
}

这样的功能是否可以毫无问题地执行并发,还是用lock包裹它?

显然,有些参数应该传递给流程,但为了简单起见,我删除了该部分。

1 个答案:

答案 0 :(得分:1)

该函数将阻止当前请求,等待“p.WaitForExit();”去完成。并发请求将产生多个进程。您还需要考虑IIS请求脚本超时设置,该设置将引发ThreadAbort异常。