• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP > response.end的优缺点介绍

response.end的优缺点介绍

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了response.end,context.response.end,mvc response.end,asp response.end,response.end 异常等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

首先讲讲它的好处。

调试程序的时候用处也很有用,类似设置断点,特别是你的程序有重大问题,如有死循环的时候一般的response.write   查看中间结果是无法看到的,这时在response.write后加入response.end,这个查看中间结果很有用。

不过,如果使用 Response.End、Response.Redirect 或 Server.Transfer 方法,将出现 ThreadAbortException 异常。您可以使用 try-catch 语句捕获此异常。
Response.End 方法终止页的执行,并将此执行切换到应用程序的事件管线中的 Application_EndRequest 事件。不执行 Response.End 后面的代码行。
此问题出现在 Response.Redirect 和 Server.Transfer 方法中,因为这两种方法均在内部调用 Response.End。

解决方案 :

要解决此问题,请使用下列方法之一:
• 对于 Response.End,调用 HttpContext.Current.ApplicationInstance.CompleteRequest 方法而不是 Response.End 以跳过 Application_EndRequest 事件的代码执行。
• 对于 Response.Redirect,请使用重载 Response.Redirect(String url, bool endResponse),该重载对 endResponse 参数传递 false 以取消对 Response.End 的内部调用。例如:
Response.Redirect ("Default.aspx", false);

Response.End()用法 

ASP开发中可能有时候会用大段的if... else 的判断,不过如果是动态Response.write的内容,你想更方便阅读代码,可以用Response.End()来终端ASP的执行,也就类似于Break的用法,举个例子:

if (userid="")or(password="") then Response.Write("<script lanuage=javascript>alert('UserName or Password is Empty!');location.href='../default.asp';</script>") Response.End() ‘这里进行了中断 end if 下面是不为空进行读取数据库的操作,省略了n行代码

这样当传入的用户名或密码为空时,自动write提示信息信息,然后Response.End()中断程序,从而达到if 。。。else的作用。

另外使用Response.End的时候,就是我们日常调试程序的时候,比如

相输出拼接的SQL语句,而不想执行下面的代码,那么可以这么做

sql="select * from userinfo "response.Write(sql)response.End()rs.open sql ,conn,1,1 '这句是不会执行的

如果怕加入Response.End()的地方过多而正式发布时候不好注释掉的化,可以用个函数将其封装起来,如下面代码:

sub debug() Response.End()end sub

上面的代码修改如下:

sql="select * from userinfo "response.Write(sql)debug()rs.open sql ,conn,1,1 '这句是不会执行的

这样当进行正式发布时,将函数debug中的语句注释掉,就可以起到调试的作用,不过这个也有个问题就是,如果你使用太多的debug(),可能在调试的时候程序会不能按照需要进行中断,可能有时候你不希望这些地方中断执行,那么我们来进一步重构debug()函数,如下:

sub debug(isBreak) 'isBreak是boolean值的参数,如果设置为true的时候则进行中断,否则,不进行中断处理 if isBreak then Response.End() endend sub

使用时候代码如下:

sql="select * from userinfo "response.Write(sql)debug(false)rs.open sql ,conn,1,1 '这句是会执行的rs.close()sql="select * from product "response.write(sql)debug(true)rs.open sql,conn,1,1 '这句不会执行

好了,这样基本上可以满足我们控制中断的需求了,不过只是简单的进行了分析,其实还很不完善,调试需求可能还有很多,需要满足,还需要进一步重构。其实程序开发就是一个重构重构再重构的过程,要不怎么会出来那么多的设计模式,都是前人从实际开发重构过程总结出来的经验,值得大家借鉴。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • asp中Response.End()用法
  • response.end的优缺点介绍
  • asp页面提示Response 对象 错误 ASP 0156 : 80004005 HTTP 头错误
  • asp下Response.Buffer提速
  • ASP编程入门进阶(五):内置对象Response

相关文章

  • 2017-05-11利用xmlhttp和adodb.stream加缓存技术下载远程Web文件
  • 2017-05-11ASP vbs 代码大小写规范
  • 2017-05-11用ASP实现写IIS日志的代码
  • 2017-05-11asp之字符串函数示例
  • 2017-05-11解决ASP(图像)上传漏洞的方法
  • 2017-05-11asp动态页面防采集的新方法
  • 2017-05-11asp读取excel表名的实现代码
  • 2017-05-11asp采集抓取网上房产信息的代码
  • 2017-05-11ASP XML编程objXML.async = False第1/2页
  • 2017-05-11<b>浅谈 ASP 模板技术之参数传递</b>

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • ASP:ActiveX不能创建Scripting.FileSystemObject对象解决办法
    • ASP Err.Number 错误描述详解
    • asp怎么获取毫秒数实现代码
    • ASP中用select case代替其他语言中的switch case, default用case else
    • ASP中如何判断一个字符是不是汉字
    • Insert Date and Time into Access
    • asp 验证用户名是否包含有非常字符的函数
    • 一个sql查询器,自动画表格填字段
    • asp下如何在Access数据库中立即得到所插入记录的自动编号?
    • asp下实现代码的“运行代码”“复制代码”“保存代码”功能源码

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有