ashx文件使用
来源:互联网 发布:以太网无法连接到网络 编辑:程序博客网 时间:2024/05/24 00:48
在项目开发中,只要用到ajax,一般都少不了使用vs的一般处理程序(ashx文件),下面详细介绍下该文件:
一般处理程序(HttpHandler)是·NET众多web组件的一种,ashx是其扩展名。一个httpHandler接受并处理一个http请求,类比于Java中的servlet。类比于在Java中需要继承HttpServlet类,在。net中需要实现IHttpHandler接口,这个接口有一个IsReusable成员,一个待实现的方法ProcessRequest(HttpContextctx) 。程序在processRequest方法中处理接受到的Http请求。成员IsReusable指定此IhttpHnadler的实例是否可以被用来处理多个请求。
.ashx程序适合产生供浏览器处理的、不需要回发处理的数据格式,例如用于生成动态图片、动态文本等内容。
上面一段很熟悉,就是百度百科里对ashx的定义。
废话不说,直接贴代码:
一般处理程序的最简单代码为:
<%@ WebHandler Language="C#" Class="LoginHandler" %>using System;using System.Web;public class LoginHandler : IHttpHandler,{ public void ProcessRequest (HttpContext context) { context.Response.ContentType = "text/plain"; string strEmail = context.Request["Email"];//接收参数 string strPwd = context.Request["Pwd"]; //书写业务逻辑 context.Response.Write("Hello"); } public bool IsReusable { get { return false; } }}
上面这种写法,一个功能可能就要对应一个ashx文件,项目里的文件可能比较多,不容易管理。如果我们想要在一个ashx文件中加入多个功能(即方法),我们就要引入反射的概念,相关ashx代码如下:
<%@ WebHandler Language="C#" Class="AjaxHandler" %>using System;using System.Web;public class AjaxHandler : IHttpHandler{ public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string Cmd = context.Request["cmd"];//接收方法名参数 if (!string.IsNullOrEmpty(Cmd)) { System.Reflection.MethodInfo Method = this.GetType().GetMethod(Cmd, System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);//通过反射机制,直接对应到相应的方法 if (Method != null) { Method.Invoke(this, new object[] { context }); } } else { context.Response.Redirect("~/Login.aspx"); } } void DelContents(HttpContext context) { string strGuid = context.Request["Guid"];//接收参数 context.Response.Write("OK"); } public bool IsReusable { get { return false; } }}
ajax代码,使用jqueryajax
$.ajax({ type: "POST", url: "AjaxHandler.ashx", async: false, data: "cmd=DelContents&Guid=" + id, success: function (data) { ret = data; } });
通过cmd传递方法名,来控制功能对应的方法。
阅读全文
0 0
- ashx文件的使用
- ashx文件的使用
- ashx文件的使用
- ashx文件使用
- ashx文件使用
- ashx文件中使用Session
- ashx文件中使用session
- ashx文件的使用实例
- ashx文件的使用小结
- 使用ashx文件生成验证码图片
- ashx文件的几种使用
- 使用ashx文件生成验证码图片
- .ashx文件里如何使用Session
- ashx文件
- *.ashx文件
- *.ashx文件
- ashx文件
- ashx文件
- php中的session性能
- 438. Find All Anagrams in a String
- Solr对数据库中的CLOB字段建立索引的问题
- kmalloc vmalloc kzalloc malloc 和 get_free_page()
- 为什么要学习Kotlin
- ashx文件使用
- C++ 虚函数表解析
- Django Admin
- 代码探索
- [绍棠] Scrapy+Flask+Mongodb+Swift开发全攻略
- Masonry介绍与使用实践(快速上手Autolayout)-让IOS自动化相对布局更简单
- php实现的消息队列类
- [最短路 虚树+线段树优化建图] BZOJ 4912 [Sdoi2017]天才黑客
- oracle限制查询条数-rownum用法详解