Cô lập yêu cầu proxy PowerShell 5.1 bằng Start-Job
Dùng một tác vụ nền thông thường để cô lập yêu cầu web Windows PowerShell 5.1 khỏi các thay đổi mạng trước đó trong tiến trình.
Trong phiên Windows PowerShell 5.1, một thành phần trước đó có thể thay đổi trạng thái mạng .NET cục bộ của tiến trình. Một tác vụ nền Start-Job thông thường cung cấp tiến trình PowerShell riêng cho thao tác web sau đó.
$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 và proxyUri là các giá trị do ứng dụng cung cấp. Với một bài kiểm tra HTTP công khai, danh sách proxy HTTP cung cấp các địa chỉ trung gian ứng viên; giữ nguyên điểm cuối đã chọn khi so sánh các tiến trình. Cũng cung cấp mọi thông tin đăng nhập proxy cần thiết qua đầu vào tác vụ và tham số yêu cầu dự kiến. Đối tượng phiên web đang hoạt động từ tiến trình cha không được tự động dùng lại.
Tác vụ có trạng thái phiên riêng; hãy tải các hàm hoặc mô-đun cần thiết ở đó. Đầu ra của nó vượt qua ranh giới tiến trình, nên việc chủ động trả lại nội dung đơn giản hơn là giả định một phản hồi đã giải tuần tự hoạt động như đối tượng đang hoạt động ban đầu.
Start-ThreadJob dùng một mô hình thực thi khác và không cung cấp cùng mức cô lập tiến trình. Một tiến trình riêng cũng không sửa được điểm cuối proxy không hợp lệ hay chính sách toàn mạng. Dùng ranh giới này khi trạng thái tiến trình chia sẻ là khác biệt liên quan.