为什么在使用Response.Redirect的时候出现错误

在使用Response.Redirect的时候出现以下错误:“标题错误,已将HTTP标题写入用户端浏览器,对任何HTTP的标题所做的修改必须在写入页内容之前”。为什么会出现这个错误?
       Response.Redirect可以将网页转移至另外的网页上,使用的语法结构是这样的:Response.Redirect网址,其中网址可以是相对地址或绝对地址,但在IIS4.0使用与在IIS5.0使用有所不同。

    在IIS4.0转移网页需在设和数据都未输出至客户端浏览器之前进行,否则会发生错误。这里所谓的数据包括HTML的卷标,如、等,而在IIS5.0中已有所改进,在IIS5.0的默认情况下缓冲区是开启的,这样的错误不再产生。

设置错误导致标签丢失

到目前为止,最常见的影响页面标签技术准确性的因素是错误的设置。与默认设置“记录所有数据”的网络服务器不一样,页面标签技术要求网站管理员将跟踪代码插入每一个页面之中。就算是自动内容管理系统,也无法达到在每个页面准确无误地设置。

    事实上,MAXAMINE作了一次数据分析。他们用自己的自动侦测软件对那些声称页面标签覆盖100%的网站进行了检测。数据表明,这些网站大约有20%的网页的页面标签是丢失的,而这些往往是被网站管理员忽视的。甚至,有一个B2B的网站,70%的页面也存在标签丢失的情况。标签丢失就意味着来自这些页面的浏览数据无法被收集、统计。

LR语法分析中的错误恢复

当LR语法分析器在查询语法分析动作表并发现一个报错条目时,它就检测到了一个语法错误。在查询GOTO表时不会发现语法错误。如果当前已扫描的输入部分不可能存在正确的后续符号串,LR语法分析器就会立刻报错。规范LR语法分析器不会做任何多余的归约动作,会立刻报告错误。SLR和LALR语法分析器可能会在报错之前执行几次归约动作,但是它们决不会把一个错误的输人符号移人到栈中。

在LR语法分析过程中,我们可以按照如下方式实现恐慌模式的错误恢复策略。我们从栈顶向下扫描,直到发现某个状态s,它有一个对应于某个非终结符号A的GOTO目标。然后我们丢弃零个或多个输人符号,直到发现一个可能合法地跟在A之后的符号a为止。之后语法分析器将GOTO(s, A)压人栈中,继续进行正常的语法分析。在实践中可能会选择多个这样的非终结符号A。通常这些非终结符号代表了主要的程序段,比如表达式、语句或块。比如,如果A是非终结符号stmt,a就可能是分号或者。其中,标记了一个语句序列的结束。

配置IIS和ASP.NET来支持相同的错误页面

对我们来说,在网站建设中配置IIS和ASP.NET使之支持相同的错误页面时可能实现的。我们可以在web站点中创建一个称为/Errors的虚拟文件夹,并将该虚拟文件夹的物理路径设置在C盘下,然后我们就可以对ASP.NET做修改了。

ASP.NET错误处理系统功能很丰富。我们可以提供一个默认的自定义错误页面,让所有错误都指向它,或者也可以自定义依赖于错误特例的错误页面,例如404 File Not Found,另外,我们还可以控制为不同类型的请求显示不同类型的错误页面。默认模式RemoteOnly为远程用户显示自定义(用户界面友好的)错误页面,而为本地客户显示丰富的ASP.NET错误页面。

«1»
最近发表
控制面板
您好,欢迎到访网站!
  [查看权限]
网站分类
搜索
Tags列表
网站收藏
图标汇集
  • 订阅本站的 RSS 2.0 新闻聚合
友情链接

热门搜索: 外链域名 高外链域名 高收录域名

Copyright www.thyst.cn. Some Rights Reserved.