关于C#调用PowerShell是SnapIn的问题


PowerShell交流中心分类: Questions关于C#调用PowerShell是SnapIn的问题
0
cj asked 7 年 ago

最近的一个项目会用到C#执行PowerShell脚本。
执行PowerShell脚本前需要先SnapIn一些SDK的dll,此过程每次都会占用5秒左右的时间。
目前我有两个方法:
1.整个声明周期就一个Runspace对象,这样的话只需要SnapIn一次就可以了。但是执行PowerShell命令是需要做队列,无疑降低了执行效率。
2.每次执行PowerShell命令时都使用新的Runspace对象,这样一来可以并行执行PowerShell命令,但每次执行前都需要花时间SnapIn。
各位是否有更好的解决办法?

1 Answers
0
Best Answer
Mooser Lee 管理员 answered 7 年 ago

你已经分析得很透彻了,两个方案中和一下,建立一个加载了SnapIn的Runspace池,有空闲的用空闲的,否则在队列等待