造訪asp頁面時提示Response 物件錯誤ASP 0156 : 80004005 HTTP 頭錯誤?,行0 已將HTTP 頭輸出到客戶端瀏覽器。任何對HTTP 頭的修改都必須在輸出頁內容之前進行。其實這類問題就是因為快取問題,大家可以參考下面的方法解決:
有些ASP頁面第一次開啟的時候會出現Response 物件錯誤'ASP 0156 : 80004005' HTTP 頭錯誤,但刷新後又正常了,解決方法如下
複製代碼代碼如下:
Response.Buffer = True
'應該是這行,去掉就ok
'如果還不行就把
Response.Buffer = True
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = no-cache
Response.AddHeader Pragma, No-Cache
'全都去掉,這個是不緩存頁面用的,去掉應該不會影響網站
該錯誤因為Web 伺服器使用一個HTTP 頭來設定客戶端瀏覽器。 Web 伺服器接著嘗試透過使用其他HTTP 頭重置客戶brower (例如, 當一個HTTP 頭將瀏覽器設content-type 然後重定向之後發出) = text/html。 有一個範例是處理ASP 頁時在包含HTML 標記或任何其他伺服器端腳本Response.Redirect 語句之前。
注意如果您升級到Microsoft Windows Server 2003 執行Microsoft Windows NT 4.0 電腦這也會發生。
有一個範例是處理ASP 頁時在包含HTML 標記或任何其他伺服器端腳本Response.Redirect 語句之前。
Response 物件的ASP 的下列屬性和方法寫入HTTP 頭:
Response.AddHeader
Response.CacheControl
Response.CharSet
Response.ContentType
Response.Expires
Response.ExpiresAbsolute
Response.Redirect
Response.Status
回到頂端
解決方案
要解決此問題之前, 發送HTML 輸出設定HTTP 標題, 如Redirect 語句或cookie 訊息。
例如, 若要避免此錯誤與重定向, 緩衝區或ASP 頁限制其處理過程然後發出之後處理重定向。 有兩種方法來完成緩衝: 頁面層級或應用程式層級上。
注意確保重定向, 所有ASP 腳本後發出。 如果之前向ASP 腳本, 它發出將ASP 頁重定向不處理ASP 程式碼。
處理它們時一個應用程式層級, 上會被緩衝Web 應用程式中所有ASP 頁。 設定一個應用程式等級, 上緩衝請依照下列步驟: 1. 在Microsoft 管理控制台(MMC), 找到Web 網站駐留Web 應用程式。
2. 按一下以展開網站以顯示虛擬目錄和Web 應用程式。
3. 右鍵點選Web 應用程式, 然後點選屬性。
4. 在虛擬目錄標籤, 點選配置。
注意如果設定按鈕不可用, 虛擬目錄是不是Web 應用程式。 按一下要建立虛擬目錄到Web 應用程式建立。
5. 在ApplicationConfiguration@@ 對話方塊中, 在App 選項標籤上, 按一下啟用緩衝。
設定頁面層級, 上緩衝在ASP 頁上@LANGUAGE 行後面新增程式碼如下所示:
<% @LANGUAGE = VBScript %><% Response.Buffer = True %>Other ASP/Clientside scripts or HTML ...<% Response.Redirect %>如下列程式碼示範此外, 可用於Cookie 設定頁層級, 上緩衝。 此程式碼段寫入Cookie 之前在發送<HTML> 標記(元素)。
Response.Cookies(Name)=value<HTML>...content...</HTML>
如果用的是小旋風的話就是缺少組件