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开发人员,我想你有必要去了解这一系列的处理流程,在这期间,浏览器和服务器到底是如何打交道的?服务器又是如何处理的?浏览器又是如何将网页显示给用户的 ...
随机推荐
- Unity3D WP8发布解决方案名 DefaultPackageName 修改问题
原地址:http://blog.csdn.net/w337198302/article/details/16960661 在对Unity3D游戏进行Windows phone 8 发布的时候,首先是需 ...
- EasyTouch 3.1中文翻译
Unity3D的Easy Touch 的手册最近寻找中文版本,google无果,自己动手.目前暂时只有c# ,javascript原理是一样的. 一.Quick Start 1-Import Easy ...
- jquery div层级选择器
div id="modelName" class="modelName"> <!-- 车系的层 --> <div name=" ...
- centos telnet --xinetd 服务
telnet由于是明文传输,所以安全起见最好不要用telnet服务.但是由于telnet是一个比较方便的远程工具,在windows上是自带 的不需要安装客户端即可使用.如果telnet设置的比较复杂, ...
- Kruskal最小生成树
并查集+kruskal==>MST 效率很低 #include <iostream> using namespace std; #define MAX 105 //自己设置最大值 / ...
- lintcode:Search Insert Position 搜索插入位置
题目: 搜索插入位置 给定一个排序数组和一个目标值,如果在数组中找到目标值则返回索引.如果没有,返回到它将会被按顺序插入的位置. 你可以假设在数组中无重复元素. 样例 [1,3,5,6],5 → 2 ...
- Ping 命令
Ping”命令是我们在判断网络故障常用的命令 它是用来检查网络是否通畅或者网络连接速度的命令. 它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包, 对方就要 ...
- C/C++技巧
C中如何调用C++函数 将 C++ 函数声明为``extern "C"''(在你的 C++ 代码里做这个声明),然后调用它(在你的 C 或者 C++ 代码里调用).例如: // C ...
- 车牌识别LPR(八)-- 字符识别
第八篇:字符识别 车牌定位.车牌倾斜校正.车牌字符分割都是为车牌字符识别做的前提工作,这些前提工作直接关系到车牌识别系统的性能.车牌字符识别是车牌识别系统的核心部分,车牌字符识别的准确率是衡量车牌识 ...
- RecyclerView(6)自定义RecyclerView.LayoutManager
A LayoutManager is responsible for measuring and positioning item views within a RecyclerView as wel ...