运行Invoke-RestMethod时出现超时错误

时间:2014-11-18 12:04:56

标签: asp.net-web-api powershell-v3.0

我在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

1 个答案:

答案 0 :(得分:13)

根据Technet documentation for the Invoke-RestMethod cmdlet,您可以附加一个超时参数来追加您的电话。它应该默认为无限期,但有一个用户抱怨它默认为100秒。

我无法看到您的所有代码,但是,要指定2分钟的超时时间,您的通话应如下所示:

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