IHttpActionResult在等待powershell脚本时超时

时间:2017-03-23 15:08:12

标签: c# powershell timeout

我需要做类似的事情:

public IHttpActionResult StartArchiving(string machineName)
{
    //Email users to notice them an archiving started on their machine 
    EmailHelper.SendEmail(some params);

    //powershell scripting call could extends up to 2-3 hours maybe
    var answere = PowerShell.Archive(machineName);

    //Email users to notice them the archiving has stopped on their machine
    EmailHelper.SendEmail(some params);
}

发送第一封电子邮件后,任务可以持续很长时间。 完成Powershell脚本后,C#任务将仍然打开并将发送第二封电子邮件,否则任务将停止,不会发送任何电子邮件。

1 个答案:

答案 0 :(得分:0)

听起来你需要“异步”执行你的Powershell.Archive()调用,这意味着你的其余代码将立即继续运行,而无需等待Powershell.Archive()完成。我建议阅读如何使用C#中的“async”和“await”关键字进行异步编程。