2011-07-06 63 views
6

我複製了一段代碼以將文件發送到瀏覽器。我不知道爲什麼我們使用下面的代碼行,因爲刪除這些代碼對我的開發環境沒有任何影響。爲什麼我們使用Response.ClearHeaders()?

Response.Clear(); 
Response.ClearHeaders(); 
Response.Buffer = false; 

任何人都可以提供一個簡單的突破,這些預期目的&恰當的了。

由於

回答

10

Response.Clear();

如果您已經寫入了任何內容到緩衝區,您需要清除那些無關的內容。

Response.ClearHeaders();

如果內容類型先前已經被指定,例如,您可能不希望這樣。任何數量的HTTP頭可能已經被設置 - 緩存控制是另一個很好的例子。

Response.Buffer = false;

如果您準備好將文件轉儲出來,則無需緩衝輸出......只需發送它,不要浪費內存。

2

Response.ClearHeaders確保沒有標題發送到客戶端。您需要這樣做,因爲在該函數或事件之前,頁面可能發送了一些標題,例如內容類型或緩存控制。你需要Response.Clear,因爲頁面可能已經在緩衝區中呈現了一些html。