什么是一般处理程序
一般处理程序是一个后缀为.ashx的代码文件,该文件的类实现了IHttpHandler接口,这个类用于负责处理它所对应的URL的访问请求,并接受客户端发送的请求信息和发送响应内容。
提示:实现IHttpHandler接口的类是作为一个外部请求程序的前提,凡是没有实现该接口的类都不能被浏览器访问。
什么时候用
虽然通过标准的方式可以创建处理程序,但是实现的步骤比较复杂,为了方便网站开发中对处理程序的应用,从Asp.net 2.0开始,asp.net提供了称为一般处理程序的处理程序,允许我们使用比较简单的方式定义扩展名为ashx的专用处理程序。
对于asp.net网站来说,网站最佳的处理结果就是HTML网页,生成网页的工作通常使用扩展名为aspx的Web窗体来完成。对于处理结果不是HTML的请求,都可以通过一般处理程序完成。例如生成RSS Feed、XML、图片等。
一般处理程序是asp.net网站中最为简单、高效的处理程序,在处理返回类型不是HTML的请求中有着重要的作用。
简单理解:一般处理程序就类似于CS程序中的Program文件可以直接运行执行,可以处理一些简单的客户端的需求
public class Handler1 : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
}
public bool IsReusable
{
get
{
return false;
}
}
方法
- ProcessRequest方法:处理请求的方法,是一般处理程序的核心方法
如果某个客户端的请求交给这个一般处理程序去处理请求,那么当请求来临时肯定调用的是这个方法
HttpContext参数:这个对象中包含有网络传输的所有的内容,例如客户端发起请求的所有的表单数据等,简单理解为请求报文
HttpContext对象的属性: - Request属性:是一个对象,这个对象包含有报文所有的请求头的数据信息
2. Response属性:是一个对象,这个对象包含有报文所有的响应头的数据信息 - IsReusable方法:只读方法,指示是否记录这次请求的数据对象
结论
这种方法使得后台在绘制HTML页面时非常麻烦,对于复杂页面几乎
B/S总结
当前台客户端浏览器,向远程服务器程序发送一个请求。
这个过程指的就是浏览器中的HTML中的表单,向远程服务器中的后台程序提交一个请求
后台程序指的就是一个C#程序,这个C#程序可以是一般处理程序也可以是其他的C#程序等,对于本次请求处理完成之后将处理的结果数据再次封装好之后响应给客户端浏览器