context.Response.End()的用法和本质
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; namespace Web_Cassini
{
/// <summary>
/// response1 的摘要说明
/// </summary>
public class response1 : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string username = context.Request["username"];
string password = context.Request["password"];
if(string.IsNullOrWhiteSpace(username))
{
context.Response.Write("用户名不能为空" + "\n");
//return;
try
{
context.Response.End(); //本质就是一个抛异常--> 效率低能不用最好不用
//EndHandler(context);
}
catch(Exception ex)
{
context.Response.Write(ex.ToString());
}
}
if (string.IsNullOrWhiteSpace(password))
{
context.Response.Write("密码不能为空"+"\n");
//return;
//context.Response.End();
EndHandler(context);
}
context.Response.Write("插入成功" + "\n");
} private void EndHandler(HttpContext context)
{
context.Response.Write("终止HttpHandler" + "\n");
context.Response.End(); //子方法中终止进程 只有抛异常才能终止当前执行 不能用return End()本质就是抛出线程异常
} public bool IsReusable
{
get
{
return false;
}
}
}
}
context.Response.End()的用法和本质
context.Response.End()的用法和本质:
用法:可以用来终止进程,即当前HttpHandler的执行,
也可以在子方法中终止HttpHandler的执行,
实际在子方法中终止程序,只有一种可能,那就是程序抛异常,所以context.Response.End()得本质就是抛出了线程异常
由于抛异常的效率较低,所以能不能就不用,在主方法中最好还是使用return;终止程序比较好,
但是在子方法中只能使用抛异常终止程序,即使用context.Response.End()终止程序。
context.Response.End()的用法和本质的更多相关文章
- context.response.end()和return的区别
		最近忽然想起这个问题,上网查了很多,觉得这个网友回答的很给力,从本质上剖析了问题.最后发现这篇文章也是转载自博客园的一位网友.http://www.cnblogs.com/adolphyang/p/4 ... 
- Context.Response.End(); VS HttpContext.Current.ApplicationInstance.CompleteRequest();
		今天遇到一個問題,頁面Client端send一個ajax請求,然後在server端返回一個json的字符串 $.ajax({ url: "xxxxx.aspx", type: &q ... 
- Go 切片:用法和本质
		2011/01/05 引言 Go的切片类型为处理同类型数据序列提供一个方便而高效的方式. 切片有些类似于其他语言中的数组,但是有一些不同寻常的特性. 本文将深入切片的本质,并讲解它的用法. 数组 Go ... 
- 如鹏网学习笔记(十四)ASP.NET
		Asp.net笔记 一.Socket类 进行网络编程的类,可以在两台计算机之间进行网络通讯 过程: 向服务器发送指令: GET /index.html HTTP/1.1 Host:127.0.0.1: ... 
- C#构造方法(函数)   C#方法重载   C#字段和属性  MUI实现上拉加载和下拉刷新  SVN常用功能介绍(二)  SVN常用功能介绍(一)  ASP.NET常用内置对象之——Server  sql server——子查询   C#接口  字符串的本质  AJAX原生JavaScript写法
		C#构造方法(函数) 一.概括 1.通常创建一个对象的方法如图: 通过 Student tom = new Student(); 创建tom对象,这种创建实例的形式被称为构造方法. 简述:用来初 ... 
- 200行代码,7个对象——让你了解ASP.NET Core框架的本质[3.x版]
		2019年1月19日,微软技术(苏州)俱乐部成立,我受邀在成立大会上作了一个名为<ASP.NET Core框架揭秘>的分享.在此次分享中,我按照ASP.NET Core自身的运行原理和设计 ... 
- python Requests库在处理response时的一些陷阱
		python的Requests(http://docs.python-requests.org/en/latest/)库在处理http/https请求时还是比较方便的,应用也比较广泛.但其在处理res ... 
- http协议和web本质
		转载:http://www.cnblogs.com/dinglang/archive/2012/02/11/2346430.html http协议和web本质 当你在浏览器地址栏敲入“http://w ... 
- http协言和web本质
		http协议和web本质 作为一个开发者,尤其是web开发人员,我想你有必要去了解这一系列的处理流程,在这期间,浏览器和服务器到底是如何打交道的?服务器又是如何处理的?浏览器又是如何将网页显示给用户的 ... 
随机推荐
- VisionTimer BUG && Start
			void Start() { vp_Timer.In(0.0f, delegate() { Debug.Log("Start"); }, 10, 1.0f); } Version ... 
- SilverLight页面跳转(转载)
			// Silverlight页面的跳转 // (Application.Current.RootVisualasIContent).Content=newDragControl(); //Silver ... 
- iframe标签用法详解(属性、透明、自适应高度)(总结)
			<iframe src="http://www.jb51.net" width="200" height="500"> 脚本之家 ... 
- 淘宝(taobao)HSF框架
			一.背景 随着网站访问量增加,仅仅靠增加机器已不能满足系统的要求,于是需要对应用系统进行垂直拆分和水平拆分.在拆分之后,各个被拆分的模块如何通信?如何保证 性能?如何保证各个应用都以同样的方式交互?这 ... 
- spring webservice 开发demo (实现基本的CRUD 数据库采用H2)
			在实现过程中,遇到两个问题: 1: schema 写错: 错误: http://myschool.com/schemas/st 正确: http://myschool.com/st/schemas ... 
- 李洪强iOS开之【零基础学习iOS开发】【02-C语言】04-常量、变量
			在我们使用计算机的过程中,会接触到各种各样的数据,有文档数据.图片数据.视频数据,还有聊QQ时产生的文字数据.用迅雷下载的文件数据等.这讲我们就来介绍C语言中数据的处理. 一.数据的存储 1.数据类型 ... 
- Android:EditText 常用属性
			属性 作用 android:hint="输入邮箱/用户名" 提示信息 android:inputType="textPassword" 设置文本的类型 andr ... 
- VS2010/MFC编程入门之一(VS2010与MSDN安装过程图解)
			原文地址: VS2010/MFC编程入门之一(VS2010与MSDN安装过程图解)-软件开发-鸡啄米 http://www.jizhuomi.com/software/139.html 上一讲中鸡 ... 
- Java多线程3:Thread中start()和run()的区别
			原文:http://www.cnblogs.com/skywang12345/p/3479083.html start() 和 run()的区别说明start():它的作用是启动一个新线程,新线程会执 ... 
- Android Handler消息传递
			一.背景 出于性能优化考虑,Android的UI操作并不是线程安全的,这意味着如果有多个线程并发操作UI组件,可能导致线程安全问题.为了解决这个问题,Android制定了一条简单的原则:只允许UI线程 ... 
