Isolasi Permintaan Proksi PowerShell 5.1 dengan Start-Job
Gunakan pekerjaan latar belakang biasa untuk mengisolasi permintaan web Windows PowerShell 5.1 dari perubahan jaringan sebelumnya dalam proses.
Dalam sesi Windows PowerShell 5.1, komponen sebelumnya dapat mengubah status jaringan .NET lokal proses. Pekerjaan latar belakang Start-Job biasa menyediakan proses PowerShell terpisah untuk operasi web berikutnya.
$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 dan proxyUri adalah nilai yang disediakan aplikasi. Untuk uji HTTP publik, daftar proksi HTTP menyediakan alamat perantara kandidat; jaga titik akhir yang dipilih tetap stabil saat membandingkan proses. Berikan juga kredensial proksi yang diperlukan melalui masukan pekerjaan dan parameter permintaan yang dimaksud. Objek sesi web aktif dari induk tidak digunakan ulang secara otomatis.
Pekerjaan memiliki status sesinya sendiri; muat fungsi atau modul yang diperlukan di sana. Keluarannya melintasi batas proses, jadi mengembalikan konten secara sengaja lebih sederhana daripada mengasumsikan respons yang dideserialisasi berperilaku seperti objek aktif asli.
Start-ThreadJob menggunakan model eksekusi lain dan tidak memberikan isolasi proses yang sama. Proses terpisah juga tidak memperbaiki titik akhir proksi yang tidak valid atau kebijakan seluruh jaringan. Gunakan batas ini ketika status proses bersama adalah perbedaan yang relevan.