عزل طلب وكيل 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 نموذج تنفيذ آخر ولا يوفّر العزل نفسه بين العمليات. كما أن عملية منفصلة لا تصلح نقطة نهاية وكيل غير صالحة أو سياسة على مستوى الشبكة. استخدم هذه الحدود عندما تكون حالة العملية المشتركة هي الفرق ذا الصلة.