簡體   English   中英

通過VB.Net在遠程服務器上執行python腳本並將結果返回到本地計算機

[英]Execute python script on remote server via VB.Net and return result to local machine

問題如下:我的本地計算機(計算機A)在本地運行VB.Net代碼。 我需要在另一台遠程計算機(計算機B,Python腳本駐留在計算機B上)上運行Python腳本,並將結果返回計算機A, 最好不要讓計算機B上的Python腳本將輸出寫入.csv文件(或類似的文件),然后計算機A讀取該文件。 也就是說,我想完成以下工作:

(計算機A上的VB.Net代碼)

matrixResult = getMatrixFromPython(args)

其中,函數getMatrixFromPython調用計算機B上的Python腳本,並返回該腳本生成的矩陣。 我當前的解決方案是使用WMI在遠程計算機上執行.bat文件,然后該.bat文件又運行Python腳本。 但是,這留下了將結果返回到計算機A上的VB.Net代碼的問題。

任何幫助,不勝感激。 謝謝。

您可以通過多種方式執行此操作。

  1. 您可以在VB.net中實現WCF服務,該服務執行python腳本並將結果傳遞回調用方

    一種。 如果您使用ironpython直接運行它,而不是依賴於從process.start捕獲輸出然后將其解釋回數據結構,則與python執行交互可能也更容易(盡管如果您必須走那條路線,那么我會建議使用JSON,因為.net和python中有可以讀取/寫入此格式的庫)

  2. 使用powershell遠程執行遠程執行,這比使用wmi捕獲輸出要簡單得多。 問題在於可能沒有在需要安裝的任何地方安裝/配置它

  3. 將python腳本轉換為作為CGI腳本運行,然后從Web服務器運行它。 這意味着調用它並獲取輸出就像獲取URL一樣簡單

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM