I en Windows PowerShell 5.1-økt kan en tidligere komponent endre prosessens lokale .NET-nettverkstilstand. En vanlig Start-Job-bakgrunnsjobb gir en separat PowerShell-prosess for en senere weboperasjon.

$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 og proxyUri er verdier som programmet leverer. For en offentlig HTTP-test leverer listen over HTTP-proxyer kandidat-mellomadresser; hold det valgte endepunktet stabilt når du sammenligner prosesser. Oppgi også eventuelle nødvendige proxy-påloggingsdetaljer via de tiltenkte jobbinndataene og forespørselsparameterne. Et levende websesjonsobjekt fra forelderen gjenbrukes ikke automatisk.

Jobben har sin egen sesjonstilstand; last inn nødvendige funksjoner eller moduler der. Utdataene krysser en prosessgrense, så det er enklere å returnere innholdet bevisst enn å anta at et deserialisert svar oppfører seg som det opprinnelige levende objektet.

Start-ThreadJob bruker en annen utførelsesmodell og gir ikke samme prosessisolering. En separat prosess reparerer heller ikke et ugyldig proxyendepunkt eller en nettverksomfattende policy. Bruk denne grensen når delt prosesstilstand er den relevante forskjellen.

Relaterte artikler