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 სხვა შესრულების მოდელს იყენებს და იგივე პროცესული იზოლაცია არ მოგვცემს. ცალკე პროცესი ასევე არ ასწორებს არასწორ პროქსი ბოლო წერტილს ან ქსელურ პოლიტიკას. გამოიყენეთ ეს საზღვარი, როცა საერთო პროცესული მდგომარეობაა შესაბამისი განსხვავება.

დაკავშირებული სტატიები