asp.net 一般处理程序

asp.net:一般处理程序.ashx效率比较高效,WebForm(aspx)比较消耗资源,MVC(效率刚好介于两者之间)

asp.net里常用的文件

.ashx 一般处理程序HttpHandler,asp.net核心程序,但一般使用.aspx(常用于不需要返回大量html代码的时候)

.aspx 常用程序webForm,用于创建网页和网页进行编程的核心文件(前台文件)(要返回大量html)

.aspx.cs 用于编写大量的C#业务代码和.aspx配套使用

.ascx  指明一个 asp.net 用户定义控件

.asax  包含asp.net 应用程序级事件的事件语法

.config 配置文件,用于设置应用程序的各种属性

.asmx  供宿主web服务在本地货远程使用

一,一般处理程序处理过程(HttpHandler)

IIS处理不了这种后缀程序通过映射表将该程序传递给ASPNET_ISAPI.DLL的程序,然后又将请求转给了网站程序

网站程序调用HttpRuntime类的静态方法处理请求,有以下步骤:

1,实现System.Web.IHttpHandle特殊接口的类

实现了该接口的类都能作为一个外部请求的目标程序

2,创建 HttpContext context 数据上下文对象,用于处理请求的所以参数数据.

(主要是httpRequest-->用于Form表单数据url 参数 和httpResponse()主要包含了FileStream对象用于保存输出的数据)

3,分析请求报文,并将数据封装到HttpWorkerRequest对象对应的属性

并调用HttpApplicationFactory的类中的静态方法来创建HttpApplication对象

(实际上是先通过httpApplication池 看有没有空闲的  没有才创建),那么

该对象会处理此次请求的所有运行过程

4,httpContex对象传入到httpApplication的时候就可以调用页面类中的ProcessRequest方法

二,服务器请求数据和接收数据

在一般处理程序中,通过HttpContext context 调用系统数据对象(属性)

Page 指向页面自身的方式

Request 读取客户端的Web请求期间发送的值

Response 封装了页面执行期返回到HTTP客户端的输出

Application 作用于整个程序运行期的状态对象

Session 会话期状态保持对象,用于跟踪单一用户的会话

Cookie 客户端保持会话信息的一种方式

Server 提更对服务器上的方法和属性的访问

1,两种简单的数据请求和接收方式

(post是通过数据报文传递的(socket),get是通过url 所以有限制大小)

1.1 通过表单传值form 可以通过post 和get 方式将数据传递给相应的页面

post方式的接收:context.Request.Form["textName"]

get 方式的接收:string name = context.Request.QueryString["name"]

1.2 通过超链接  test url get

Request:有QueryString  Form Params 属性Params是客户提交的数据集合(可以用于post和get)

三,重定向的原理

context.Response.Redirect("hello.html");

Response:有write(输出) redirect(重定向) end(结束输出)

四,将数据显示到模板页

获取到模板内容

string modelPath = context.Server.MapPath("loginmodel.html");

string htmlSendBack = System.IO.File.ReadAllText(modelPath);

将内容中的标识号替换成对应的数据变量

五,用一般程序写一个登陆模块

SimpleLogin.ashx

//============================代码=========

public void ProcessRequest (HttpContext context) {

//找到对应的页面

string modelPath = context.Server.MapPath("loginmodel.html");

//将页面中的内容读取出来

string htmlSendBack = System.IO.File.ReadAllText(modelPath);

//表示输出html

context.Response.ContentType = "text/html";

//将数据传递给模板页

string num = "linzhouzhi";

htmlSendBack = htmlSendBack.Replace("{num}",num);

//向浏览器输出

context.Response.Write(htmlSendBack);

//超链接传值方式

context.Response.Write("test url get");

//get方式接收数据

string name = context.Request.QueryString["name"];

context.Response.Write(name);

if (!string.IsNullOrEmpty(context.Request.Form["textName"])) {

if (context.Request.Form["textName"] == "linzhouzhi" && context.Request.Form["textPwd"] == "111")

{

context.Response.Write("okokok!!");

//结束输出

context.Response.End();

context.Response.Write("+++++++++okokok!!");

}

else {

//重定向

context.Response.Redirect("hello.html");

}

}

}

//=============loginmodel.html================

asp.net:一般处理程序.ashx效率比较高效,WebForm(aspx)比较消耗资源,MVC(效率刚好介于两者之间)

asp.net里常用的文件

.ashx 一般处理程序HttpHandler,asp.net核心程序,但一般使用.aspx(常用于不需要返回大量html代码的时候)

.aspx 常用程序webForm,用于创建网页和网页进行编程的核心文件(前台文件)(要返回大量html)

.aspx.cs 用于编写大量的C#业务代码和.aspx配套使用

.ascx  指明一个 asp.net 用户定义控件

.asax  包含asp.net 应用程序级事件的事件语法

.config 配置文件,用于设置应用程序的各种属性

.asmx  供宿主web服务在本地货远程使用

一,一般处理程序处理过程(HttpHandler)

IIS处理不了这种后缀程序通过映射表将该程序传递给ASPNET_ISAPI.DLL的程序,然后又将请求转给了网站程序

网站程序调用HttpRuntime类的静态方法处理请求,有以下步骤:

1,实现System.Web.IHttpHandle特殊接口的类

实现了该接口的类都能作为一个外部请求的目标程序

2,创建 HttpContext context 数据上下文对象,用于处理请求的所以参数数据.

(主要是httpRequest-->用于Form表单数据url 参数 和httpResponse()主要包含了FileStream对象用于保存输出的数据)

3,分析请求报文,并将数据封装到HttpWorkerRequest对象对应的属性

并调用HttpApplicationFactory的类中的静态方法来创建HttpApplication对象

(实际上是先通过httpApplication池 看有没有空闲的  没有才创建),那么

该对象会处理此次请求的所有运行过程

4,httpContex对象传入到httpApplication的时候就可以调用页面类中的ProcessRequest方法

二,服务器请求数据和接收数据

在一般处理程序中,通过HttpContext context 调用系统数据对象(属性)

Page 指向页面自身的方式

Request 读取客户端的Web请求期间发送的值

Response 封装了页面执行期返回到HTTP客户端的输出

Application 作用于整个程序运行期的状态对象

Session 会话期状态保持对象,用于跟踪单一用户的会话

Cookie 客户端保持会话信息的一种方式

Server 提更对服务器上的方法和属性的访问

1,两种简单的数据请求和接收方式

(post是通过数据报文传递的(socket),get是通过url 所以有限制大小)

1.1 通过表单传值form 可以通过post 和get 方式将数据传递给相应的页面

post方式的接收:context.Request.Form["textName"]

get 方式的接收:string name = context.Request.QueryString["name"]

1.2 通过超链接  test url get

Request:有QueryString  Form Params 属性Params是客户提交的数据集合(可以用于post和get)

三,重定向的原理

context.Response.Redirect("hello.html");

Response:有write(输出) redirect(重定向) end(结束输出)

四,将数据显示到模板页

获取到模板内容

string modelPath = context.Server.MapPath("loginmodel.html");

string htmlSendBack = System.IO.File.ReadAllText(modelPath);

将内容中的标识号替换成对应的数据变量

五,用一般程序写一个登陆模块

SimpleLogin.ashx

//============================代码=========

public void ProcessRequest (HttpContext context) {

//找到对应的页面

string modelPath = context.Server.MapPath("loginmodel.html");

//将页面中的内容读取出来

string htmlSendBack = System.IO.File.ReadAllText(modelPath);

//表示输出html

context.Response.ContentType = "text/html";

//将数据传递给模板页

string num = "linzhouzhi";

htmlSendBack = htmlSendBack.Replace("{num}",num);

//向浏览器输出

context.Response.Write(htmlSendBack);

//超链接传值方式

context.Response.Write("test url get");

//get方式接收数据

string name = context.Request.QueryString["name"];

context.Response.Write(name);

if (!string.IsNullOrEmpty(context.Request.Form["textName"])) {

if (context.Request.Form["textName"] == "linzhouzhi" && context.Request.Form["textPwd"] == "111")

{

context.Response.Write("okokok!!");

//结束输出

context.Response.End();

context.Response.Write("+++++++++okokok!!");

}

else {

//重定向

context.Response.Redirect("hello.html");

}

}

}

//=============loginmodel.html================


相关内容

  • 论文-基于.net的电子政务系统
  • 自考本科毕业论文 考 籍 号: 姓 名: 题 目: 指导教师: 江沸波 专 业: 电子政务 通讯地址: 湖南师范大学 电 话: 二零一一年三月 电子政务系统平台的设计 『摘要』 本论文概述了ASP.NET及其相关的一些知识,采用的基础语言是C#语言.ASP.NET是面向下一代企业级的Web应用程序开 ...

  • 网络日志管理系统的毕业设计
  • 郑州轻工业学院 专科毕业设计(论文) 题 目 学生姓名 专业班级 学 号 院 (系) 指导教师 完成时间 网络日志管理系统 软件学院 2012年6月8日 毕业设计(论文)任务书 题目 基于ASP.NET.C#.Ajax 和SQLServer 的网络日志管理系统专业 计算机网络技术 学号 [1**** ...

  • 软件技术专业毕业设计论文
  • (此文档为word 格式,下载后您可任意编辑修改!) 马鞍山师范高等专科学校软件与 食品工程系软件技术专业毕业论文 题 目: 专业方向: 软件技术(c#.net web开发方向) 姓 名: 秦研 班 级:2010级软件技术(c#.net web开发方向) 指导教师: 王杰 二〇一二年十二月三十日 摘 ...

  • 期刊稿件管理系统之专家在线审稿系统设计与实现
  • 引言 计算机技术在飞速发展,网络已经渐渐成为我们获取信息及文化资源的主要途径,网络已经普及到了各个行业,甚至在一些信息行业中没有计算机网络就无法正常从事工作,就连人们日常生活中报刊.杂志也渐渐地被网络杂志.网络新闻取代. 我们采用ASP.NET技术设计的通用编辑部网站信息动态管理系统系统以Brows ...

  • 毕业设计-基于Web在线作业提交批改系统
  • 引 言 在国内,从学生作业管理系统的管理情况来看,在现代化教育技术模式下,使用计算机提交作业已相当普及.但能够合理使用硬件资源,有条理地管理好学生作业信息的却少之又少. 通过网络的了解,已经有不少高等学校已经推出了自己的作业上传系统.但是由于实现技术有限,系统的功能不完善,而且存在很多缺陷.例如:查 ...

  • 动态网站建设 毕业设计
  • (此文档为word 格式,下载后您可任意编辑修改!) 云南农业职业技术学院 毕业生论文(设计) 论文题目:班级网站建设 学 生: 系 部: 年级专业: 研究方向:动态网站建设指导教师: 2012年 12月 班级网站建设 摘 要 随着计算机和网络信息打飞速发展,INERNET 在全球范围内日益普及, ...

  • 1.NET知识结构框架
  • .NET 知识结构框架 .NET 介绍微软.NET 战略及技术体系,.NET Framework 框架类库(FCL ),公共语言运行时(CLR ),通用类型系统(CTS ),公共语言规范(CLS ),程序集(Assembly ),应用程序域(Application Domain ).了解微软.net ...

  • 网站通用工具箱设计--在线预约模块
  • 西 安 邮 电 大 学 毕 业 设 计(论 文) 题 目: 网站通用工具箱设计 学 院: 通信与信息工程学院 专 业: 通信工程 班 级: 通工1111班 学生姓名: 导师姓名: 职称: 讲师 起止时间:2014年9月15日至2015年1月11 日 毕业设计(论文)诚信声明书 本人声明:本人所提交的 ...

  • 社区物业管理-毕业论文
  • 社区物业管理系统的设计与实现 摘 要 随着我国科学技术和社会经济的不断发展,人们对住宅的要求也越来越高,为了适应社会的这一需求,物业管理系统应用而生.本系统利用计算机与互联网的优势,采用ASP.NET技术作为创建应用程序的方式,以C# 作为编程语言,采用SQL SERVER 2000 数据库作为后台 ...