context.response.end()和return的区别
最近忽然想起这个问题,上网查了很多,觉得这个网友回答的很给力,从本质上剖析了问题。最后发现这篇文章也是转载自博客园的一位网友。http://www.cnblogs.com/adolphyang/p/4769902.html
不得不说这位网友很牛X,上面还有代码示例。
那这里我就只给自己做一个简单的笔记,也算加深下记忆。
context.Response.End()的用法和本质:
用法:可以用来终止进程,即当前HttpHandler的执行,
也可以在子方法中终止HttpHandler的执行,
实际在子方法中终止程序,只有一种可能,那就是程序抛异常,所以context.Response.End()得本质就是抛出了线程异常
由于抛异常的效率较低,所以能不能就不用,在主方法中最好还是使用return;终止程序比较好,
但是在子方法中只能使用抛异常终止程序,即使用context.Response.End()终止程序。
总的来说:如果在子方法中还想终止整个程序的执行就要使用Response.End()方法,如果在主函数中则尽量使用return来终止程序的执行。
context.response.end()和return的区别的更多相关文章
- context.Response.End()的用法和本质
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace Web_C ...
- Context.Response.End(); VS HttpContext.Current.ApplicationInstance.CompleteRequest();
今天遇到一個問題,頁面Client端send一個ajax請求,然後在server端返回一個json的字符串 $.ajax({ url: "xxxxx.aspx", type: &q ...
- 程序代码中退出函数exit()与返回函数return ()的区别
程序代码中退出函数exit()与返回函数return ()的区别 exit(0):正常运行程序并退出程序: exit(1):非正常运行导致退出程序: return():返回函数,若在主函数 ...
- 转:eclipse以及step into step over step return的区别
首先来讲一下step into step over step return的区别: step into就是单步执行,遇到子函数就进入并且继续单步执行:(F5) step over是在单步执行时,在函数 ...
- 有关于break,continue,return的区别和代码分析
今天,用代码和结果直接解释break,continue,return的区别 1.break代码 public static void breakTest() { //break的讲解 for(int ...
- (转)解析php中die(),exit(),return的区别
本篇文章是对php中die(),exit(),return的区别进行了详细的分析介绍,需要的朋友参考下 die()停止程序运行,输出内容exit是停止程序运行,不输出内容return是返回值d ...
- java web 中有效解决中文乱码问题-pageEncoding与charset区别, response和request的setCharacterEncoding 区别
这里先写几个大家容易搞混的编码设置代码: 在jsp代码中的头部往往有这两行代码 pageEncoding是jsp文件本身的编码contentType的charset是指服务器发送给客户端时的内容编码J ...
- break、continue以及return的区别
break.continue以及return的区别如下: 1.break break用于完全结束一个循环,跳出循环体,不再执行下面的代码.对于多层循环嵌套,如果break语句出现在嵌套循环中的内循环时 ...
- js中return ,return true,return false;区别
js中return:.return true.return false;区别 转:https://www.cnblogs.com/camikehuihui/p/7999537.html 一.返回控制与 ...
随机推荐
- PLSQL配置登录用户信息
PLSQL配置登录用户信息 2012-08-30 08:47:02 我来说两句 作者:lsxy117 收藏 我要投稿 PLSQL配置登录用户信息 工作中经常使用PLSQL ...
- microsoft NLayerApp项目中的层次结构图
microsoft NLayerApp项目中的层次结构图 回到目录 如果你想学好一样东西,一定要看高手是如何做的 如果你想学好.net,一定要看.net framworks源代码 如果你想学好分层结构 ...
- spring bean范围
总结: 实例代码具体解释: 文件夹结构 Car.java package com.coslay.beans.autowire; public class Car { private String br ...
- {{angular.js 使用技巧}} - 实现计算列属性
前端MV*框架现在有很多,其中某些框架有计算列(又叫监控属性),比如:微软推荐的 Knockout.js 和博客园司徒正美的 avalon.js 框架. 本人只使用过 Knockout.js,aval ...
- XSLT 调用外部程序
通常可以通过xslt把一个xml转成html cd.xml <?xml version="1.0" encoding="UTF-8"?> <? ...
- Bootstrap 导航
在本文中,您将学习如何使用 Bootstrap 工具包来创建基于导航.标签.胶囊式标签的导航. 基于标签的导航 nav nav-tabs <!DOCTYPE html> <html ...
- AutoPostBack通过现象看本质
在做人事档案管理系统时遇到一个功能需要实现前台数据(实时)与后台进行交互,解决这个问题首先想到的是应用控件的AutoPostBack属性.本以为这个问题就这样解决了(不用javascript.jque ...
- Step one : 熟悉Unix/Linux Shell 常见命令行 (二)
2.学会使用一些文本操作命令 sed -- stream editor 1. Sed简介sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pat ...
- 用邻接表或vector实现存边以及具体如何调用[模板]
存边: 对于指针实现的邻接表: struct edge{ int from,next,to,w; }E[maxn]; int head[maxn],tot=0;//head初始化为-1: void a ...
- asp.net mvc4 运用 paypal sdk实现支付
1.https://developer.paypal.com/ 注册账号,并且申请一个app,获得 client id,secret等数据 2.点击页面中"Sandbox Account ...