asp页面提示Response 对象 错误 ASP 0156 : 80004005 HTTP 头错误


  本文标签:Response,对象,错误

其实这类问题就是因为缓存问题,大家可以参考下面的方法解决:

有些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>

如果用的是小旋风的话 就是缺少组件