189 8069 5689

在应用程序中使用RunSpace2-创新互联

上一次的博客中我们介绍了最为基本的方法在应用程序中使用PowerShell引擎,当然这是最为简单的使用方式虽然简单当然也很有效,只不过不要忘记当不想再使用 RunspaceInvoke 实例的时候调用

10年积累的成都网站设计、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有黄山区免费网站建设让你可以放心的选择与我们合作。

实例的Dispose() 方法对其资源进行释放,也许你也已经尝试在你的应用程序中使用了这种方法

或许你也已经发现这中方法有一个巨大的问题 那就是通过简单的代码创建RunspaceInvoke 但是只能同步执行并且获取结果,也许这种方式在一般情况下并不是什么大问题,在需要长时间的执行的脚本或者命令时候 Invoke()方法将会阻塞当前线程,使得你不得不进行长时间的等待,不得不说这点的确有点让人不爽,我们之前说过选择的简单的办法就要丧失其灵活性。

聪明的你似乎觉得我们今天的主题应该是异步运行了? 我不得不Say No 因为在讨论异步运行之前还有很多事情要做。

So 你就应该知道我们今天讨论的主题是如何开始初步的使用Runspace 和PipeLine

一般来说 如果想在应用程序中使用PowerShell 引擎 我们只要创建Pipeline 就可以完成

但是现在我们还不能创建因为这是依靠Runspace 实例的CreatePipeline() 方法创建

而现在我们都没有创建Runspace 对象实例,Runspace 实例都要通过 RunspaceFactory 的静态方法来创建并且在PowerShellV1 版本时候创的Runspace 实例都是Local Runspace 意味这你讲不能创建基于远程计算机会话的 Runspace 当然 V1版本已经太过久远 我们已经无需思考这个问题

好了说了这么多 下面我们应该看实际代码

在应用程序中使用RunSpace 2

事实上代码简单到可以非常容易的理解

我们使用了无配置的静态方法创建了新的Runspace 对象 当然这是使用默认配置

紧接着 我们创建了管道,并且是一个完整的管道 因为我们给管道中放置了新的命令,

最后就像之前一样我们使用Invoke执行了管道中的命令,

请注意创建管道前 Runspace 状态要处于Opened 状态 虽然此时依然可以创建管道但是系统会引发异常

在应用程序中使用RunSpace 2

同样CreatePipeline 方法还有另外一个重载接受两个参数

在应用程序中使用RunSpace 2

意思是当true 时候 命令将会记录在命令历史记录中以方便使用Get-history 进行查找调用

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享标题:在应用程序中使用RunSpace2-创新互联
本文地址:http://jkwzsj.com/article/dgcsii.html

其他资讯