HttpWebRequest не имеет близкого метода?

Я очень удивлен, увидев, что HttpWebRequest не имеет близкого метода, но имеет свою встречную часть HttpWebResponse. Это немного меня смущает и неудобно.: -)

Итак, нам нужно только вызвать Close on response и не нуждаться в обработке с запросом? Моя забота о утечках и лучшей эффективности использования ресурсов. Я использую VSTS2008 + С# +.Net 3.5.

Ответ 1

Да, вам просто нужно вызвать его на объект ответа.

Запрос абсолютно ничего не делает сам по себе. Он не открывает сокет или что-то в этом роде. Он просто содержит некоторые данные, и вы можете просто проигнорировать его и выбросить, если вам это не нужно (он позаботится о чистом управляемом ресурсе и сборщике мусора). Фактический материал происходит после вызова одного из методов GetResponse.

Ответ 2

Аналогия:

Если я хочу поговорить с тобой, и я уже уверен, что хочу поговорить с тобой, я просто позвоню тебе на имя (Запрос). Однако вам решать, когда, как и что ответить мне (ответ). Таким образом, у вас будет больше контроля над сообщением, чем я, я только начал его.

Ответ 3

Метод закрытия, который вы ссылаетесь на HttpWebResponse, служит для отправки готового ответа на веб-сервер. В объекте HttpWebRequest все содержимое доступно при запуске обработки, поэтому нет необходимости закрывать и связываться с сервером.