一般处理程序

后缀:

前台页面:.ashx

后台页面:.ashx.cs

打开方式:右键程序集--在浏览器中查看--输入url(如http://localhost:6560/firstAshx.ashx) firstAshx.ashx是一般处理程序的名称

ashx处理机制(流程):

浏览器发送请求给服务器中的IIS,IIS接收到请求就会到处理映射池中找到对应的类文件交给ASPNet.Isapid(中间处理程序)  中间处理程序再把类文件交给asp.fromwork框架,再根据ashx找到前台页面类,然后就根据前台页面类的指令集中的找到后台页面类,最后会调用后台页面类的ProcessRequest方法,执行里面的代码后返回给服务器

指令集:对我们程序员没有实际意义,编译器看到我们的这串指令集的时候,会根据CodeBehind找到我们对应的后台代码

<%@ WebHandler Language="C#" CodeBehind="firstAshx.ashx.cs" Class="一般处理程序.firstAshx" %>

一般处理程序的后台页面实现了IHttpHandler接口

在一般处理程序中的PR方法中输出图片的代码"text/html"

context.Response.ContentType = "text/html"; //输出的是html代码 也可以直接不要这句默认也是输出html代码    //输出文本是text/plain

context.Response.Write("<img src='img/1.jpg'>");

要把数据显示在浏览器中:context.Response.Write(“输入要显示的东东就ok”);

get 和post 传值

get传值的四种方式:get提交的数据会显示在url中 不安全

1.url传值,手动修改url:在路径中用(问号) ?隔开  参数与参数隔开用&连接

2.用超连接如:

<a href=”getData.ashx?Id=2&name=小明”>超连接传值</a>

3.通过js方法传值

<input type=button onclick=”go()”value=”js传值”>

<script type=”text/javascript”>

function go(){

Window.location=”getData.ashx?Id=2&name=小明”;

}

</script>

4.form表单传值  (这种很重要)

<form action=”getData.ashx”metthod=”get”>

<intput type=”text”name=”id” value=”2”>

<intput type=”text”name=”name” value=”小明”>

<input type=”submit”value=”<form>”>

</form>

注意:

1.提交的数据一定要在form表单中

2.标签的值必需要有name属性

3.Form表单中必须要有submit按钮 或提交方法

post传值:url不会显示传输的数据了,更安全

只有一种方式 form表单

和前面的form表单差不多,就是把method=”post“ 传值方式改成post

context.Request.Handler  可以取到报文头中的内容

//得到当前的请求方式  请求方式 默认是大写

String method=Context.Reqiest.HttpMethod;

String id=context.Requesst.QueryString[“id”];//获取传值过来的值  只能接收get请求发送过来的值

String id=context.Requesst.QueryString[“name”];

//获取post传值过来的值  要用Form属性

String method=Context.Reqiest.HttpMethod;

String id=context.Requesst.Form[“id”];

String method=Context.Reqiest.HttpMethod;

String id=context.Requesst.Form[“name”];

也可以用context.Requesst[“id”];接收get和post值  不需要上面用的QueryString和Form属性 但是性能没有那么高

找到模板页所对应的路径

String path=context.Server.mapPath(“/get/templ.html”);

//读取模板里面的内容

String str=system.IO.File.ReadAllText(path);

//生成连接字符串

system.text.StringBuilder sb=new System.Text.StringBuilder(200);

//把模板页里面的占位符提换

Str=str.Replace(“$(trs)”.sb.ToString());

//输出内容  响应

context.Response.Write(str);

Redirect:重定向到另外一个页面

服务器发送命令让浏览器跳转

Redirect()这个方法会做三个事情:

1.调用Clear方法 清空response.write()里面的数据

2.修改状态码为302  并且设置location

3.调用end方法 结束请求

Web-----》》》 一般处理程序 ashx的更多相关文章

  1. jQuery获取一般处理程序(ashx)的JSON数据

    昨天有在开发的软件生产线生产流程,RFID扫描IC卡的数据,当中有用到jQuery获取一般处理程序(ashx)的JSON数据.今有把它写成一个小例子,望需要的网友能参考. 在网站中,创建一个一般应用程 ...

  2. ASP.NET -- 一般处理程序ashx

    ASP.NET  --   一般处理程序ashx 如果在一个html页面向服务器端请求数据,可用ashx作为后台页面处理数据.ashx适合用作数据后台处理,相当于WebForm中的aspx.cs文件或 ...

  3. .net mvc 站点自带简易SSL加密传输 Word报告自动生成(例如 导出数据库结构) 微信小程序:动画(Animation) SignalR 设计理念(一) ASP.NET -- WebForm -- ViewState ASP.NET -- 一般处理程序ashx 常用到的一些js方法,记录一下 CryptoJS与C#AES加解密互转

    .net mvc 站点自带简易SSL加密传输   因项目需要,传输数据需要加密,因此有了一些经验,现简易抽出来分享! 请求:前端cryptojs用rsa/aes 或 rsa/des加密,后端.net ...

  4. Asp.net web服务处理程序(第六篇)

    四.Web服务处理程序 对于Web服务来说,标准的方式是使用SOAP协议,在SOAP中,请求和回应的数据通过XML格式进行描述.在Asp.net 4.0下,对于Web服务来说,还可以选择支持Ajax访 ...

  5. 对ASP.NET运行机制之 一般处理程序ashx的学习

    一般处理程序(HttpHandler)是·NET众多web组件的一种,ashx是其扩展名.其中一个httpHandler接受并处理一个http请求,类比于Java中的servlet.类比于在Java中 ...

  6. .net Ajax与后台一般处理程序(ashx) 交互

    本文主要实现无动态刷新查询后台数据功能,主要用到ajax+ashx+sqlserver进行交互. 首先需要引用Jquery: <script language="javascript& ...

  7. ASP.NET MVC 项目中 一般处理程序ashx 获取Session

    1-在 aspx和aspx.cs中,都是以Session["xxx"]="aaa"和aaa=Session["xxx"].ToString( ...

  8. jQuery Ajax无刷新操作一般处理程序 ashx

    //前台实例代码 aspx文件 <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="ser ...

  9. C# web项目添加*.ashx文件后报错处理

    说明:我是菜鸟,博文水平有限,仅作学习过程中的备忘笔记 1.截图信息: ———————————————————————————————————————————————————————————————— ...

随机推荐

  1. 构造函时和this指针

    通常this指针在对象构造完毕后才完全生成,而在构造函数执行过程中,对象还没有完全生成,所以this指针也是没有完全生成的,在构造函数中使用this指针会存在问题,应该尽量避免. 构造函数中可以访问对 ...

  2. 位运算 (&|)与--或 一位数组表示多种意思~~ 与--或

    var arr:Array = [0,1,2,4,8,16] var gate:int = 0; gate |= arr[1] gate |= arr[2] gate |= arr[3] trace( ...

  3. iOS 三维变换

    1:平移 一个4*4的单位矩阵乘以一个P(x,y,z,1)的行向量,则表示此矩阵向x轴移动了x的单位,向Y轴移动了y个单位,向Z轴移动了z个单位,最后获得移动后的目标矩阵是 [ 1, 0, 0, 0  ...

  4. SOA架构有基本的要求

    SOA在相对较粗的粒度上对应用服务或业务模块进行封装与重用: 服务间保持松散耦合,基于开放的标准, 服务的接口描述与具体实现无关: 灵活的架构 -服务的实现细节,服务的位置乃至服务请求的底层协议都应该 ...

  5. ASP.NET打印EXCEl报表技术总结

    序言:我们在做企业项目或者一些管理系统的时候往往会用到导出到excel报表这项功能,下面我介绍的是用windows自带的excel来打印 首先必须引入:Interop.Excel.dll.Intero ...

  6. 纯CSS绘制三角形

    扒segmentfault的导航栏时候发现的,用了个span标签写了个三角形出来,第一次发现,好神奇,查了下还有挺多种玩法的.基本的用法就是将盒子的width和height设为0,然后用border搭 ...

  7. 导入已有的vmdk文件,发现网络无法连通

    把以前的节点都删除了,重新载入镜像.发现每一个都ping不同,ifconfig发现eth0端口都没有打开.. 解决: 进入: vim /etc/sysconfig/network-scripts/if ...

  8. MVC 使用PageList进行分页

    1.新建MVC项目 2.在Web项目下添加PagedList nuget 命令 :install-package pagedlist.mvc 在安装完成之后,会在Content下添加PagedList ...

  9. JSON 小记

    JSON是在web应用中频繁使用的一种数据结构,在使用过程中经常出现格式错误等等问题,如果能清晰的了解JSON的构成,那将会避免这些错误 英文好的可以查看原文: 地址:http://www.codep ...

  10. GetProcessIdOfThread在WinXP及之前操作系统的替代实现

    还是学习VLD2.X版本看到的: 在Windows XP及之前的操作系统没有提供GetProcessIdOfThread的API,这里给出了一个替代的实现方式: 头文件: #if _WIN32_WIN ...