我在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
答案 0 :(得分:13)
根据Technet documentation for the Invoke-RestMethod cmdlet,您可以附加一个超时参数来追加您的电话。它应该默认为无限期,但有一个用户抱怨它默认为100秒。
我无法看到您的所有代码,但是,要指定2分钟的超时时间,您的通话应如下所示:
Invoke-RestMethod -Uri "http://corloclaf2/api/Automation/GetAutomation?test" -TimeoutSec 120