[英]Powershell script with a background job inside called from c#
我从c#
程序中调用Powershell脚本,由于pipeline.Invoke()
的结果而返回了PSObjects
的集合。 作为PS脚本的一部分,使用Net.Mail.SmtpClient发送电子邮件。 但是,发送电子邮件需要花费一些时间,因此我将电子邮件发送代码移到了一个脚本块中,该脚本块使用Start-Jon -ScriptBlock
执行...在这里,问题开始了:未发送电子邮件。 当我从命令行执行脚本时,它将发送电子邮件。
可能是什么原因?
实际上,在将Wait-Job
添加到代码(使其同步)之后,它又可以工作了。 我想我明白了。 我在终止主机的代码结尾处调用runspace.Close()
,因此Powershell后台作业没有机会执行。 因此,很不幸,我在错误的位置看。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.