2009-08-02 23 views
10

我很驚訝地看到HttpWebRequest已經沒有密切的方法,但是它的對應部分HttpWebResponse了。這讓我有點困惑和不方便。 :-)HttpWebRequest有沒有關閉的方法?

那麼,我們只需要在響應中調用Close並且不需要處理請求?我擔心的是泄漏和更好的資源使用效率。我正在使用VSTS2008 + C#+ .Net 3.5。

+1

(我刪除了重複並且在額外的內容中合併) – 2009-08-02 09:03:29

+0

你問**再次**(現在刪除)?不要那樣做... – 2009-08-02 19:55:11

回答

29

是的,你只需要在響應對象上調用它。

一個請求自己完全沒有。它不會打開一個套接字或其他東西。它只是保存一些數據,如果你不需要它,你可以忽略它並丟棄它(它是一個純粹的託管資源,垃圾收集器將負責它)。在調用其中一個GetResponse方法後,會發生實際情況。

1

您在HttpWebResponse上引用的close方法用於將完成的響應發送到Web服務器。在HttpWebRequest對象上,開始處理時所有內容都可用,因此不需要關閉服務器並與其通信。

4

一個比喻:

如果我想和你談談,我已經知道我要對你說我可以簡單的叫你的名字(要求)。然而,由你來決定何時,如何以及向我回答什麼(Response)。所以你會對我的溝通有更多的控制權,我只是開始了。