Izolácia proxy požiadavky v PowerShelli 5.1 pomocou Start-Job
Použite bežnú úlohu na pozadí na izoláciu webovej požiadavky Windows PowerShell 5.1 od skorších sieťových zmien v procese.
V relácii Windows PowerShell 5.1 môže skorší komponent zmeniť sieťový stav .NET v rámci procesu. Bežná úloha na pozadí Start-Job poskytuje pre neskoršiu webovú operáciu samostatný proces PowerShellu.
$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 a proxyUri sú hodnoty dodávané aplikáciou. Na verejný HTTP test ponúka zoznam HTTP proxy kandidátske sprostredkujúce adresy; pri porovnávaní procesov držte zvolený koncový bod nemenný. Odovzdajte aj prípadné potrebné prihlasovacie údaje k proxy cez zamýšľané vstupy úlohy a parametre požiadavky. Živý objekt webovej relácie z rodiča sa automaticky znova nepoužíva.
Úloha má vlastný stav relácie; načítajte tam potrebné funkcie alebo moduly. Jej výstup prechádza cez hranicu procesu, takže zámerné vrátenie obsahu je jednoduchšie než predpokladať, že deserializovaná odpoveď sa správa ako pôvodný živý objekt.
Start-ThreadJob používa iný model spúšťania a neposkytuje rovnakú izoláciu procesu. Samostatný proces tiež neopraví neplatný koncový bod proxy ani sieťovú zásadu. Túto hranicu použite, keď je zdieľaný stav procesu podstatným rozdielom.