一般处理程序

时间:2023-02-21 21:06:44

1.b/s结构原理 2.asp.net内部原理 3.状态管理(cookie,session,viewstate)

4.HttpContext 上下文对象里的Response属性,其实就相当于 是一个响应报文对象,可以通过它设置响应报文的内容. 比如: context.Response.ContentType="text/html",  就是设置响应报文头的Content-type值,  告诉浏览器,要将响应报文作为html解析处理

5.响应的,浏览器发来的请求报文数据,就在HttpContext类的Request属性

6.每次调用Response.Write("输出内容")的时候,其实是将字符串存入了    HttpResponse对象里的一个TextWriter的内部字节数组中.    此数组中的数据,将最终成为 响应报文体内容.

7.ASP.NET中系统对象:  HttpResponse: 封装了页面执行器返回到HTTP客户端的输出(http响应报文数据) .内部有一个字节数组,用来保存响应报文的数据信息  HttpRequest: 读取客户端在Web请求期间发送的值,(http请求报文数据)内部字节数组,用来保存请求报文的数据信息  Page : 指向页面自身的方式,作用域为页面执行期  HttpApplication : 作用于整个程序运行期的状态对象.  Session : 会话期状态保持对象,用于跟踪单一用户的会话.  Cookie:客户端保持会话信息的一种方式  Server:提供对服务器上的方法和属性的访问    8.浏览器向服务器传参:如何在服务器接收浏览器传来的数据   context.Request.QueryString["name"]; 获取get参数 ,超链接的name值   context.Request.Form[""] 获取post数据.   context.Request.Params[""] 以上两种获取值的综合体.

  浏览器提交数据方式:  1.表单提交(数据藏在请求报文体中) : 必须设置控件的name属性值  2.地址栏的URL参数,超链接的url,js中的location (与表单的Get方式一样) :数据藏在请求报文头中   形式:http://127.0.0.1/login.ashx?txtname=jordan&txtpwd=123

  9.Response:  1.Redirect页面重定向原理:   页面执行时发现重定向,便在响应报文体中产生: http 1.1/ 302 Found    location:重定向地址  2.end方法:结束输出.

<<<10.ASP.NET运行机制运行原理:>>>  1.浏览器客户端发送请求报文--  2.IIS服务器进行处理-  3.isAPI.dll扩展程序(到IIS映射表中查找后缀名,若查找到了,转到4,     如果找不到,则IIS服务器自己对其进行处理,比如静态页面,     IIS服务器自己进行读取,将响应报文返回给浏览器)--  4.将请求报文交给FrameWork-  5.ISAPIRuntime--  6.HttpRuntime--Http运行时  7.创建HttpWorkerRequest对象(请求报文信息在里面,返回的报文请求也包括在内)--  8.HttpContext对象:上下文对象包括1.HttpRequest对象 2.HttpResponse对象 (需要使用HttpWorkerRequest对象)--  9.通过HttpApplicationFactory工厂模式--  10.创建HttpApplication对象(里面包含HttpContext上下文对象)--  11.调用HttpApplication的ProcessRequest()方法--  12.在此同时执行请求中所注册的19个委托事件--  13.执行到第八个事件时,通过反射创建请求页面的实体类对象,      页面的实体类都必须实现FrameWork环境所提供的IHttpHandler公共接口,      该接口实现了ProcessRequest()方法  14.在执行到第11个事件和第12事件 之间,调用了反射创建的请求页面      对象的ProcessRequest()处理方法 ,  15.将处理后所得到的响应报文信息通过HttpFinishRequest对象包装返回给HttpWorkerRequest对象  16.HttpWorkerRequest对象 通过HttpResponse对象将响应报文返回给IIS服务器  17.最后再将响应报文返回到浏览器页面解析出来  

11.一般处理程序:  是一个实现System.Web.IHttpHandler接口额特殊类  任何一个实现了IHttpHandler接口的类,是作为一个外部请求  的目标程序的前提(凡是没有实现该接口的类,就不能被浏览器请求,  实现该接口的类也不一定全能被外部请求)

 15010204606 常洋  QQ 928188501

--------------------- 3-30( 一般处理程序的增删改查 ) --------------------- 1.ContentType: text/html等响应报文头与响应报文体(write)信息    都是由HttpResponse对象获得的.

2.同一个一般处理程序页面 在不同方法中拿不到上下文对象context时    可以通过HttpContext.Current.Response.Write();获取当前的上下文对象

 ----------------  4-1 ( 文件上传 ) ----------------- 1.必须通过表单提交要上传的数据,设置enctype属性 <form action="" method="post" enctype="multipart.form-data"></form> 2.必须使用post提交表单数据 3.必须设置表单的属性 enctype="multipart.form-data"    设置enctype后,请求报文头中多处一个:boundary属性(分界符)    请求报文体的数据格式发生改变:  由name="value"的方式 变成 分界符分段的方式 .  被选中要上传的文件数据,就包含在请求报文体中. HttpFileCollection files= content.Request.Files; //获取浏览器页面 所有文件的信息 HttpPostedFile file=files[i];

---------------- 2 (生成图片) ---------------- 1.首先修改格式 context.Response.ContentType = "image/jpeg"; 2.创建一个画布(图片对象): Image img= new Bitmap(120,60);            Image img=Image.FromFile("图片的绝对路径");//读取图片信息             Image img=Image.FromStream(图片文件流);//读取图片信息 3.创建一个画笔: Graphics g =Graphics.FromImage(img) ; 将图片对象传进去 4.使用画笔进行绘画: g.DrawString("显示内容",new Font("全新硬体行书简"),Brushes.Yellow,x,y); --画在图片对象的 哪个位置          g.DrawImage(水印图,new Rectangle(),new Rectangle(),GraphicsUnit.pixel);          参数0:所要画的水印图          参数1:操作的是源图片,设置所要打印的水印图的大小以及开始坐标的位置          参数2:操作的是水印图片,设置水印图片显示的部分以及显示的宽高          参数3:设置单位为像素 5.设置图片保存的格式:img.Save(context.Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);  将图片以指定的格式保存到指定的输出流中

------------------------- 3. (文件下载(文件另存为)) -------------------------- 在响应报文中添加一个报文头类型  HttpUtility.UrlEncode("文件名");//将文件相对路径 进行url转码  context.Response.AddHeader("Content-Disposition","attachment; filename=\"文件名\"");