ในเซสชัน 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 ใช้รูปแบบการทำงานอีกรูปแบบหนึ่งและไม่ได้ให้การแยกโปรเซสแบบเดียวกัน โปรเซสแยกก็ไม่สามารถแก้ไขจุดสิ้นสุดพร็อกซีที่ไม่ถูกต้องหรือนโยบายระดับเครือข่ายได้ ใช้ขอบเขตนี้เมื่อสถานะโปรเซสที่แชร์ร่วมกันคือความแตกต่างที่เกี่ยวข้อง

บทความที่เกี่ยวข้อง