แยกคำขอพร็อกซี PowerShell 5.1 ด้วย Start-Job
ใช้แบ็กกราวด์จ็อบธรรมดาเพื่อแยกคำขอเว็บของ Windows PowerShell 5.1 จากการเปลี่ยนแปลงเครือข่ายก่อนหน้าในโปรเซส
ในเซสชัน Windows PowerShell 5.1 คอมโพเนนต์ก่อนหน้าอาจเปลี่ยนสถานะเครือข่าย .NET ภายในโปรเซสได้ แบ็กกราวด์จ็อบ Start-Job แบบธรรมดาจะให้โปรเซส PowerShell แยกต่างหากสำหรับการดำเนินการเว็บในภายหลัง
$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 และ proxyUri เป็นค่าที่แอปพลิเคชันจัดหาให้ สำหรับการทดสอบ HTTP สาธารณะ รายการพร็อกซี HTTP จะให้ที่อยู่ตัวกลางที่เป็นไปได้ รักษาจุดสิ้นสุดที่เลือกให้คงที่เมื่อเปรียบเทียบโปรเซส จัดหาข้อมูลรับรองพร็อกซีที่จำเป็นผ่านอินพุตของจ็อบและพารามิเตอร์คำขอตามที่ตั้งใจไว้ด้วย ออบเจ็กต์เซสชันเว็บที่ใช้งานอยู่จากโปรเซสแม่จะไม่ถูกนำมาใช้ซ้ำโดยอัตโนมัติ
จ็อบมีสถานะเซสชันของตัวเอง โหลดฟังก์ชันหรือโมดูลที่จำเป็นที่นั่น เอาต์พุตของจ็อบข้ามขอบเขตโปรเซส ดังนั้นการส่งคืนเนื้อหาอย่างตั้งใจจึงง่ายกว่าการสมมติว่าการตอบกลับที่ถูกดีซีเรียลไลซ์จะทำงานเหมือนออบเจ็กต์ที่ใช้งานอยู่เดิม
Start-ThreadJob ใช้รูปแบบการทำงานอีกรูปแบบหนึ่งและไม่ได้ให้การแยกโปรเซสแบบเดียวกัน โปรเซสแยกก็ไม่สามารถแก้ไขจุดสิ้นสุดพร็อกซีที่ไม่ถูกต้องหรือนโยบายระดับเครือข่ายได้ ใช้ขอบเขตนี้เมื่อสถานะโปรเซสที่แชร์ร่วมกันคือความแตกต่างที่เกี่ยวข้อง