我们在许多PowerShell脚本中使用Invoke-WebRequest
,这些脚本在大约10分钟的时间内按顺序运行。
我们试图理解为什么在某些极少数情况下会抛出System.Net.WebException
消息:
操作已超时
阅读文章Understanding MaxServicePointIdleTime and DefaultConnectionLimit确实表明超时已达到连接限制。增加连接限制似乎不是解决问题根本原因的方法。
这使我们认为我们的脚本在完成后不会处理所有资源。使用Invoke-WebRequest
处理所有资源的推荐方法是什么?
我们目前正在做;
$response = Invoke-WebRequest -uri $uri_1 -ContentType $mime
// do stuff with $response variable
$response = Invoke-WebRequest -uri $uri_2 -ContentType $mime
// do stuff with $response variable
答案 0 :(得分:1)
如果您执行$response | get-member
,则可以看到HtmlWebResponseObject
对象具有Dispose
方法,因此您应该可以通过执行以下操作来处置连接:
$response.Dispose()
完成后。