Izolujte proxy zahtjev PowerShell 5.1 pomoću Start-Job
Koristite običan pozadinski posao da izolujete web zahtjev 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 odvojen 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, lista HTTP proxyja nudi kandidatne posredničke adrese; držite odabranu krajnju tačku stabilnom kada poredite procese. Prenesite i potrebne proxy akreditive kroz predviđene ulaze posla i parametre zahtjeva. Živi objekat web sesije iz roditelja se ne koristi ponovo automatski.
Posao ima vlastito stanje sesije; učitajte potrebne funkcije ili module tamo. Njegov izlaz prelazi granicu procesa, pa je namjerno vraćanje sadržaja jednostavnije od pretpostavke da se deserijalizirani odgovor ponaša kao originalni živi objekat.
Start-ThreadJob koristi drugi model izvršavanja i ne pruža istu izolaciju procesa. Odvojen proces također ne popravlja nevažeću proxy krajnju tačku ni mrežnu politiku. Koristite ovu granicu kada je dijeljeno stanje procesa relevantna razlika.