Asp.net-Web-Api

執行 Invoke-RestMethod 時出現超時錯誤

  • February 23, 2017

我在 PowerShell 上執行 Invoke-RestMethod 來呼叫 Web API 方法。它可以工作,但大約一分鐘後,我收到超時錯誤。我真的希望 PowerShell 等到呼叫的方法完成。我該怎麼做呢?謝謝你的幫助。約翰

PS C:\Test\TestScripts> .\Run_Automation 5.5.4.382.1
VERBOSE: GET http://server/api/Automation/GetAutomation?testName=5.5.4.382.1 with 0-byte payload
Invoke-RestMethod : The operation has timed out.
At C:\TeamCity\TeamCityScripts\Run_Automation.ps1:20 char:5
+     Invoke-RestMethod -Uri http://corloclaf2/api/Automation/GetAutomation?testNa ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
+ FullyQualifiedErrorId :WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

根據Invoke-RestMethod cmdlet 的 Technet 文件,您可以在呼叫中附加一個超時參數。它應該預設為無限期,但有使用者抱怨它預設為 100 秒。

我看不到您的所有程式碼,但是要指定 2 分鐘的超時時間,您的呼叫應如下所示:

Invoke-RestMethod -Uri "http://corloclaf2/api/Automation/GetAutomation?test" -TimeoutSec 120

引用自:https://stackoverflow.com/questions/26993943