asp页面提示Response 对象 错误 ASP 0156 : 80004005 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>

如果用的是小旋风的话 就是缺少组件
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3