对ASP.NET运行机制之 一般处理程序ashx的学习
2014-01-15 20:19
597 查看
一般处理程序(HttpHandler)是·NET众多web组件的一种,ashx是其扩展名。其中一个httpHandler接受并处理一个http请求,类比于Java中的servlet。类比于在Java中需要继承HttpServlet类,在.net中需要实现IHttpHandler接口,这个接口有一个IsReusable成员,一个待实现的方法ProcessRequest(HttpContextctx) 。程序在processRequest方法中处理接受到的Http请求。成员IsReusable指定此IhttpHnadler的实例是否可以被用来处理多个请求。
.ashx程序适合产生供浏览器处理的、不需要回发处理的数据格式,例如用于生成动态图片、动态文本等内容。
<%@ WebHandler Language="C#" Class="LoginPage" %> using System; using System.Web; using System.Text; public class LoginPage : IHttpHandler { public void ProcessRequest (HttpContext context) { context.Response.ContentType = "text/plain"; //context.Response.Write("Hello World"); context.Response.Charset = "utf-8"; context.Response.CacheControl = "no-cache"; context.Response.AddHeader("Prama", "no-cache"); StringBuilder strMsg = new StringBuilder(); try { string strOption = context.Request.QueryString["option"]; if (!String.IsNullOrEmpty(strOption)) { //这里是取页面传来的UserName,然后赋值给返回的变量,格式是jason需要的格式 if (strOption == "Login") { //也可以用context.Session["str1"]; 来获取session值 string UserName = context.Request.QueryString["UserID"]; strMsg.Append("[{Result:'1',UserName:" + UserName + "}]"); } } } catch (Exception ex) { strMsg = strMsg.Append("{[Result:'" + ex.Message + "']}"); } context.Response.Write(strMsg); } //IsReusable成员,指定此IhttpHnadler的实例是否可以被用来处理多个请求。(多个界面调用) public bool IsReusable { get { return true; } } }
上面代码的过程是,从页面js中用jQuery的
$.getJSON("",{para1:val1,para2:val2...},function(json){ var rst= json[0].Result; })
来传参数到ashx,并获取返回的json格式的数据。
405错误解决办法
检查IIS主目录->应用程序设置->配置中,有没有.ashx;
如果没有,点击添加->C:/WINDOWS/Microsoft.NET/Framework/V2.0.50727/aspnet_isapi.dll;
扩展名填入:.ashx
保存
IIS7 点击-->处理程序映射,然后添加
相关文章推荐
- ASP.NET运行机制之一般处理程序(ashx)
- ASP.NET运行机制之一般处理程序(ashx)
- 黑马程序员之asp.net学习笔记:一般处理程序(*.ashx)小结
- 最近学习asp.net一般处理程序(.ashx)
- Android调用asp.net编写的*.ashx(一般处理程序)获取数据
- ASP.NET的ASHX一般处理程序中Session为null且不能赋值
- Asp.net jQuery与ashx 安全性问题 (一般处理程序的安全问题) ashx 安全
- asp.net实现页面的一般处理程序(CGI)学习笔记
- ASP.NET一般处理程序(.ashx.cs)中使用Session的问题
- 最近在学习有关ASP.NET一般处理程序的知识。收藏的几个有用的博文
- asp.net一般处理程序(.ashx)动态生成验证码案例。
- asp.net- ajax简单入门使用方法,通过一般处理程序ashx进行处理
- ASP.NET-C# Post 一般处理程序(ashx)并得到返回值
- asp.net 一般处理程序 .ashx 处理各种验证码 一维码 二维码
- ASP.NET MVC 项目中 一般处理程序ashx 获取Session
- ASP.NET的ASHX一般处理程序中Session为null且不能赋值
- asp.net WebForm中的一般处理程序、aspx页面深入学习
- Asp.net 一般处理程序.ashx中对Session的操作
- ASP.NET的ASHX一般处理程序中Session为null且不能赋值
- ASP.NET 使用一般处理程序.ashx进行 Excel下载