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.

Súvisiace články