Windows PowerShell 5.1 oturumunda önceki bir bileşen sürecin yerel .NET ağ durumunu değiştirebilir. Sıradan bir Start-Job arka plan işi, sonraki web işlemi için ayrı bir PowerShell süreci sağlar.

$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 ve proxyUri uygulamanın sağladığı değerlerdir. Genel bir HTTP testi için HTTP proxy listesi aday ara adresler sunar; süreçleri karşılaştırırken seçilen uç noktayı sabit tutun. Gerekli proxy kimlik bilgilerini de amaçlanan iş girdileri ve istek parametreleri üzerinden verin. Ebeveyn sürecin canlı web oturumu nesnesi otomatik olarak yeniden kullanılmaz.

İşin kendi oturum durumu vardır; gereken işlevleri veya modülleri orada yükleyin. Çıktısı bir süreç sınırını aşar, bu nedenle içeriği bilerek döndürmek, seri durumdan çıkarılmış bir yanıtın özgün canlı nesne gibi davrandığını varsaymaktan daha basittir.

Start-ThreadJob başka bir yürütme modeli kullanır ve aynı süreç yalıtımını sağlamaz. Ayrı bir süreç de geçersiz bir proxy uç noktasını veya ağ geneli bir ilkeyi onarmaz. Paylaşılan süreç durumu ilgili fark olduğunda bu sınırı kullanın.

İlgili makaleler