从Powershell命令窗口执行特定脚本时,执行大约需要2分钟。使用System.Management.Automation.Runspaces从C#(Windows服务)执行相同的脚本需要5到6分钟!从服务中生成新的powershell.exe进程会使时间再次降至2分钟。
我还注意到使用Runspace时CPU使用率更高。
不出所料,几乎所有的时间都花在了Pipeline.Invoke()上,这使得调试问题变得更加容易。
我使用的脚本很复杂并且完成了大量的工作,因此要解决这个问题并不容易。我该如何缩小问题?
有什么明显的东西可能会丢失吗?