Izolirajte proxy zahtjev PowerShell 5.1 pomoću Start-Job
Upotrijebite običan pozadinski posao za izolaciju web zahtjeva Windows PowerShell 5.1 od ranijih mrežnih promjena u procesu.
U sesiji Windows PowerShell 5.1, ranija komponenta može promijeniti .NET mrežno stanje unutar procesa. Običan pozadinski posao Start-Job daje zaseban PowerShell proces za kasniju web operaciju.
$job = Start-Job -ArgumentList $uri, $proxyUri -ScriptBlock {
param($destination, $intermediary)
$response = Invoke-WebRequest -Uri $destination `
-Proxy $intermediary -UseBasicParsing -TimeoutSec 30
$response.Content
}
try {
Receive-Job -Job $job -Wait -ErrorAction Stop
}
finally {
Remove-Job -Job $job
}
uri i proxyUri su vrijednosti koje daje aplikacija. Za javni HTTP test, popis HTTP proxyja nudi kandidatne posredničke adrese; držite odabranu završnu točku stabilnom pri usporedbi procesa. Prenesite i potrebne proxy vjerodajnice kroz predviđene ulaze posla i parametre zahtjeva. Živi objekt web sesije iz roditelja ne koristi se ponovno automatski.
Posao ima vlastito stanje sesije; učitajte potrebne funkcije ili module ondje. Njegov izlaz prelazi granicu procesa, pa je namjerno vraćanje sadržaja jednostavnije od pretpostavke da se deserijalizirani odgovor ponaša kao izvorni živi objekt.
Start-ThreadJob rabi drugi model izvršavanja i ne pruža istu izolaciju procesa. Zaseban proces također ne popravlja nevažeću proxy završnu točku ni mrežnu politiku. Upotrijebite ovu granicu kada je zajedničko stanje procesa relevantna razlika.