通过VB.Net在远程服务器上执行python脚本并将结果返回给本地机器

时间:2014-06-29 08:59:57

标签: python vb.net wmi

问题如下: 我的本地计算机(计算机A)在本地运行VB.Net代码。我需要运行一个Python脚本 在另一台远程计算机上(计算机B,Python脚本驻留在计算机B上)并将结果返回给计算机A,首选,而无需在计算机B上将Python脚本写入.csv文件(或类似的)和计算机A然后读取该文件。 也就是说,我想完成以下几点:

(计算机A上的VB.Net代码)

matrixResult = getMatrixFromPython(args)

函数getMatrixFromPython"调用"计算机B上的Python脚本并返回脚本生成的矩阵。 我目前的解决方案是使用WMI在远程计算机上执行.bat文件,然后该.bat文件运行Python脚本。但是,这会产生将结果返回到计算机A上的VB.Net代码的问题。

任何帮助非常感谢。 谢谢。

1 个答案:

答案 0 :(得分:0)

你可以通过多种方式做到这一点。

  1. 您可以在VB.net中实现一个WCF服务,该服务执行python脚本并将结果传递回调用者

    一个。如果你使用ironpython直接运行它而不是依赖于从process.start捕获输出然后将它解释回数据结构,那么python执行也可能更容易与之交互(尽管如果你必须走这条路然后我会建议使用JSON,因为.net和python中的库将读/写这种格式)

  2. 使用powershell远程处理来执行远程执行,这将比使用wmi捕获输出更简单。这方面的问题可能是它没有安装/配置它需要的任何地方

  3. 将python脚本转换为CGI脚本并从Web服务器运行。这意味着调用它并获取输出就像获取URL一样简单