Windows PowerShell 5.1 seanse ankstesnis komponentas gali pakeisti proceso vietinę .NET tinklo būseną. Įprasta Start-Job fono užduotis suteikia atskirą PowerShell procesą vėlesnei žiniatinklio operacijai.

$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 ir proxyUri yra programos pateikiamos reikšmės. Viešam HTTP testui HTTP tarpinių serverių sąrašas siūlo kandidatų tarpinius adresus; lygindami procesus palikite pasirinktą galinį tašką pastovų. Taip pat perduokite reikiamus tarpinio serverio kredencialus per numatytus užduoties įvestis ir užklausos parametrus. Gyvas tėvyninio proceso žiniatinklio seanso objektas nėra automatiškai naudojamas iš naujo.

Užduotis turi savo seanso būseną; įkelkite reikiamas funkcijas ar modulius ten. Jos išvestis kerta proceso ribą, todėl sąmoningai grąžinti turinį paprasčiau nei manyti, kad deserializuotas atsakymas elgiasi kaip pradinis gyvas objektas.

Start-ThreadJob naudoja kitą vykdymo modelį ir nesuteikia tokios pačios procesų izoliacijos. Atskiras procesas taip pat nepataiso netinkamo tarpinio serverio galinio taško ar tinklo lygmens politikos. Naudokite šią ribą, kai bendra proceso būsena yra svarbus skirtumas.

Susiję straipsniai