2014-06-29 41 views
0

问题如下: 我的本地计算机(计算机A)在本地运行VB.Net代码。我需要在另一台远程机器(计算机B,Python脚本驻留在计算机B上)上运行Python脚本 ,并将结果返回给计算机A,最好是,而不需要计算机B上的Python脚本将输出写入到。 csv文件(或类似的)和计算机A然后读取该文件。 也就是说,我想完成几乎如下:通过VB.Net在远程服务器上执行python脚本并返回结果到本地机器

(在计算机A VB.Net代码)

matrixResult = getMatrixFromPython(args) 

其中函数getMatrixFromPython“调用”在计算机B上的Python脚本,并返回脚本产生的矩阵。 我目前的解决方案是使用WMI在远程机器上执行.bat文件,该.bat文件反过来运行Python脚本。然而,这留下了将结果返回到计算机A上的VB.Net代码的问题。

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

回答

0

你可以通过很多方法来做到这一点。

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

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

  2. 使用powershell remoting来执行远程执行,这将使得它比使用wmi捕获输出简单得多。与此有关的问题可能是它没有安装/配置到任何地方

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

相关问题