2015-02-21 2 views
1

Я пытаюсь использовать HttpWebResponse в powershell и хочу избавиться от объекта ответа, однако не знаю, как это сделать в Powershell.Хотите использовать IDisposable интерфейс для HttpWebResponse в Powershell

Пытается преобразовать код C# в PowerShell.

HttpWebResponse response = // assigned from somewhere 
IDisposable disposableResponse = response as IDisposable; 

disposableResponse.Dispose(); 

ответ

1

Вы можете сделать что-то вроде этого:

$request = [System.Net.WebRequest]::Create("http://www.google.com") -as [System.Net.HttpWebRequest] 
    $response = $request.GetResponse() -as [System.Net.HttpWebResponse] 

    $disposableResponse = $response -as [System.IDisposable] 
    $disposableResponse.Dispose() 

Но HttpWebResponse уже Dispose метод из-за наследования WebResponse.

+0

Спасибо wallybh, я пробовал это, но он дает мне ошибку ниже, я думаю, что .NET 4.0 не имеет Dispose. Ошибка вызова метода, потому что [System.Net.HttpWebResponse] не содержит метода с именем «Dispose». – VarunVyas

+0

Странно. Документация MSDN (для .net 4.0) говорит, что HttpWebResponse имеет Dispose medhod. https://msdn.microsoft.com/en-us/library/system.net.httpwebresponse(v=vs.100).aspx – wallybh

+0

даже после выполнения «$ response -as [System.IDisposable]» не работает? – wallybh

Смежные вопросы