약 10 분 동안 순서대로 실행되는 PowerShell 스크립트에서 Invoke-WebRequest
을 사용하고 있습니다.Invoke-WebRequest 호출시 '작업 시간이 초과되었습니다.'오류
우리는 드문 경우에 따라 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
재미 있습니다. 하나의 후속 질문, 현재 스크립트는 적어도 50 invoke-webrequest를 만들고 나는 원래 게시물에서 언급 한 것처럼 거의 실패하지 않습니다. Powershell 또는 dotnet은 TCP 연결의 정리를 수행하며이 정리를 트리거하는 것은 무엇입니까? 왜 이것이 더 자주 실패하지 않는지 궁금해지기 시작합니다. – Lars