本文整理汇总了C#中IJob.StdErrCallBack方法的典型用法代码示例。如果您正苦于以下问题:C# IJob.StdErrCallBack方法的具体用法?C# IJob.StdErrCallBack怎么用?C# IJob.StdErrCallBack使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IJob
的用法示例。
在下文中一共展示了IJob.StdErrCallBack方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RunExternalProcess
public bool RunExternalProcess(IJob job)
{
Process process = null;
try
{
string prevDir = Directory.GetCurrentDirectory();
if (Directory.Exists(job.WorkingDirectory))
{
Directory.SetCurrentDirectory(job.WorkingDirectory);
}
if (job.Argument == null)
{
process = new Process()
{
StartInfo = new ProcessStartInfo(job.Command as string)
{
RedirectStandardOutput = true,
RedirectStandardError = true,
CreateNoWindow = true,
UseShellExecute = false,
WorkingDirectory = job.WorkingDirectory
},
EnableRaisingEvents = true
};
}
else
{
process = new Process()
{
StartInfo = new ProcessStartInfo(job.Command as string, job.Argument as string)
{
RedirectStandardOutput = true,
RedirectStandardError = true,
CreateNoWindow = true,
UseShellExecute = false,
WorkingDirectory = job.WorkingDirectory
},
EnableRaisingEvents = true
};
}
// see below for output handler
if (null != job.StdErrCallBack)
{
process.ErrorDataReceived += job.StdErrCallBack;
}
if (null != job.StdOutCallBack)
{
process.OutputDataReceived += job.StdOutCallBack;
}
process.Start();
process.BeginErrorReadLine();
process.BeginOutputReadLine();
process.WaitForExit();
Directory.SetCurrentDirectory(prevDir);
return true;
}
catch (Exception err)
{
DataReceivedEventArgs arg = CreateMockDataReceivedEventArgs(err.ToString());
job.StdErrCallBack(this, arg);
return false;
}
}