در یک نشست 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 مدل اجرای دیگری دارد و همان جداسازی فرایند را فراهم نمی‌کند. فرایند جداگانه نیز نقطه پایانی نامعتبر پروکسی یا سیاست شبکه را اصلاح نمی‌کند. وقتی وضعیت مشترک فرایند تفاوت مرتبط است، از این مرز استفاده کنید.

مقالات مرتبط