2008-09-25 72 views

回答

8

如果將Response.Buffer未設置爲true,那麼你會得到一個運行時錯誤。此外,如果在ASP頁面上調用Flush方法,則服務器不會遵守該頁面的Keep-Alive請求。

你也想看看,如果你正在使用基於表格的設計,直到整個表發送它不會在一些瀏覽器渲染..這意味着,如果你有10,000行,用戶仍然會在實際看到它們之前需要等待所有10,000行傳輸。

+0

什麼是保持活動的要求嗎? – 2008-09-25 19:19:53

+1

您是否最近在Keep-Alive上測試了這些信息?根據我的經驗,IIS只使用分塊編碼,不應該有任何需要關閉連接。 – AnthonyWJones 2008-09-26 16:51:50

6

擴大Wayne's answer:如果有什麼你需要設置Response.Headers,你不能這樣做響應的任何部分已被刷新後。

2

Response.flush可能是有用的,以發送到瀏覽器報告的標題..然後顯示「加載消息」,則您的報告過程中,你刷新的報告,然後執行一小片JavaScript來隱藏「裝載的「 信息。

這樣,您將讓用戶知道的東西是hapenning所以他們不會按STOP BACK或只需關閉窗口,因爲他們可以以其它方式誘惑。

而且,我已經打了很多什麼瀏覽器IE渲染似乎什麼表,是除非收到的標籤,不使一個表的唯一一個。這意味着所有行可能會逐漸出現在其他瀏覽器中,但不會在IE中顯示。

3

沒有與沖洗這樣的反應沒有問題。通常建議爲了獲得更好的性能來緩衝整個頁面並將其刷新到客戶端,但對於長時間運行的腳本,通常最好將一些數據顯示給客戶端,以便用戶看到發生的事情。

一定要記得沖洗手動只有一個適當的緩衝作用從一開始頁面時,否則IIS將自動刷新(流頁面到客戶端)。

你應該避免潮紅常作爲IIS便要對經常沖洗頁面,而不是處理腳本中使用的資源。 I.e .:每50行刷新一次,而不是每行刷新一次。