在上一篇博客中,提到一般处理程序真的不一般。这篇博客主要是给大家解惑。由于最近在做项目的过程中,用到了很多的一般处理程序,相信你也一定用到过,但是你真的了解它吗?
介绍:
一般处理程序的一般是相对于aspx页面来说的,它介于请求与响应之间的处理程序。说白了就是去掉了前台appx HTML 页面的cs部分,什么请求都可以处理,实现IHttpHandler接口。
通过VS2012中创建一个一般处理程序将会生成两个后缀名的文件.ashx和.ashx.cs。其中.ashx.cs对应的内容,如以下代码:
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace web { /// <summary> /// Handler 的摘要说明 /// </summary> public class Handler : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; context.Response.Write("Hello World"); } public bool IsReusable { get { return false; } } } }
从上面的代码可以看到,一般处理程序实际上就是一个实现IHttpHandler接口的处理程序类,这个处理程序被ASP.NET直接在系统配置文件映射到了ashx扩展名的请求上。这样,我们就不需要在配置文件中进行配置了。
优点:
因为不必继承Page类,所以没有那么多的事件要处理,消耗资源少,性能比aspx高。
实现:
一般处理程序可以完成的功能很多,输出HTML,效果跟aspx+cs是一样的,还可以用来发送非html类或无需html代码的数据等,比如文本、XML、图片,甚至二进制文件格式,还有最常用json数据格式等。
简单的举三个最常用的例子:
1、图片过滤(防盗链)
2、图片验证码
3、处理自定义后缀名请求
这个三个例子的代码,我通过转载的博客,为大家做一个详细的介绍。
总结:
以往我们都是从功能的角度来学习和思考某个页面怎样用,随着不断学习的深入,我更加的认为应该从原理和本质认识和学习,从上面转载的博客为大家解决这个问题。
========================================================================================================================
基于asp.net+easyui框架的系列博文:
使用Jquery+EasyUI框架开发项目+下载+帮助--EasyUI的简介
Asp.net之真假分页大揭秘、使用AspNetPager实现真分页
Asp.Net构架(Http请求处理流程)、Asp.Net 构架(Http Handler 介绍)、Asp.Net 构架(HttpModule 介绍)
基于asp.net + easyui框架,js实现上传图片之前判断图片格式,同时实现预览,兼容各种浏览器+下载
基于asp.net+ easyui框架,js提交图片,实现先上传图片再提交表单
基于asp.net + easyui框架,一步步学习easyui-datagrid——界面(一)
基于asp.net + easyui框架,一步步学习easyui-datagrid——实现分页和搜索(二)
基于asp.net + easyui框架,一步步学习easyui-datagrid——实现添加、编辑、删除(三)
基于asp.net + easyui框架,一步步学习easyui-datagrid——完成,总结(四)
=========================================================================================================================
相关推荐
下面将深入解析ASP.NET一般处理程序的工作原理及其在web开发中的应用。 首先,让我们理解ASP.NET Web开发的基本原理。在ASP.NET中,Web应用程序由一系列的HTTP模块、HTTP处理器和页面控件组成。当用户发起一个HTTP...
这些系统的共同特点是需要处理大量数据,进行复杂的业务逻辑运算,并且需要良好的用户体验,ASP.NET MVC+EF6+Bootstrap的组合能够满足这些需求,提供高效、可扩展和用户友好的解决方案。 总结来说,"开源:ASP.NET ...
ASP.NET Core 2.2是微软推出的一款高性能、跨平台的开源框架,用于构建Web应用程序。它是ASP.NET的全新版本,具有模块化、轻量级和高性能的特点,支持.NET Core和.NET Framework两种运行时环境。在ASP.NET Core 2.2...
ASP.NET是由微软开发的一个用于构建Web应用程序的框架,它提供了一种高效的、基于组件的模型来创建动态网站、Web服务和丰富的互联网应用程序。在这个场景中,ASP.NET与Access数据库结合,形成了一套完整的网站后台...
在Asp.Net Core 3.1中,你可以利用依赖注入、中间件和Kestrel服务器等特性,构建高效且可扩展的应用。 【EF Core】 Entity Framework Core (EF Core) 是微软提供的一种对象关系映射(ORM)框架,适用于.NET Core...
【ASP.NET 图书管理系统+毕业论文】是一款基于ASP.NET技术构建的图书管理应用程序,专为在Visual Studio 2003及以上版本上运行而设计。这个系统不仅包含了完整的图书管理功能,还融入了作者的毕业设计思想,展示了...
ASP.NET 2.0、XML、SQL Server 2005 和 AJAX 是构建现代Web应用程序的关键技术,它们各自在Web开发领域中扮演着重要角色。接下来,我们将详细探讨这些技术及其相互之间的结合。 **ASP.NET 2.0** ASP.NET 2.0是微软...
首先,ASP.NET是微软推出的一种服务器端编程框架,它为开发者提供了丰富的工具和API,简化了Web应用程序的开发过程。ASP.NET的MVC(Model-View-Controller)模式则是一种软件设计模式,将业务逻辑、视图呈现和用户...
该版本引入了对Visual Studio 2008和.NET Framework 3.5新特性的支持,例如扩展的ADO.NET实体框架、ASP.NET AJAX等。 【LINQ】 LINQ(Language Integrated Query)是.NET Framework 3.5中的一个重大改进,它允许...
ASP.NET MVC、Entity Framework (EF)、LINQ 和 Spring.Net 是.NET开发中常用的四大技术,它们结合使用可以构建高效、可扩展的Web应用程序。在这个"ASP.NET MVC+EF+LINQ+Spring.Net 用户增删除改查简单Demo"中,我们...
而asp.net MVC5是微软开发的一个强大的Web应用框架,基于模型-视图-控制器(MVC)设计模式,用于构建可维护、可扩展的Web应用程序。 【描述】中提到,这套源码适用于SQL2008及以上版本的数据库,意味着它具有与SQL ...
ASP.NET是微软公司开发的一种用于构建Web应用程序的框架,它基于.NET Framework,为开发者提供了高效、安全且可扩展的平台。ASP.NET C#是ASP.NET框架的一个重要组成部分,它允许开发者使用C#语言进行Web应用的开发。...
ASP.NET MVC4是一种用于构建动态、数据驱动的Web应用程序的框架,它结合了ASP.NET的高效性和MVC(Model-View-Controller)设计模式的强大功能。MVC4是该框架的一个版本,它在MVC3的基础上进行了改进和扩展,旨在提供...
《ASP.NET 4高级程序设计(第4版)》是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的建议。书中还深入讲述了其他ASP.NET图书...
ASP.NET MVC、NHibernate 和 Unity Application Block 是三个在软件开发中广泛应用的技术,它们共同构建了高效、可扩展的Web应用程序。下面将详细解释这三个技术及其在实际应用中的结合。 **ASP.NET MVC** ASP.NET ...
ASP.NET是微软公司推出的用于构建Web应用程序的框架,它基于.NET Framework,提供了丰富的功能和工具,使得开发者可以更高效地创建动态、交互式的网站。在ASP.NET 2.0版本中,微软引入了许多改进和新特性,使得开发...
2. **C#语言基础**:ASP.NET主要使用C#作为后端编程语言,因此对C#的基本语法、类、对象、异常处理、文件操作等知识的掌握至关重要。 3. **ASP.NET架构**:了解ASP.NET的MVC(Model-View-Controller)和Web Forms两...
ASP.NET是.NET框架的一部分,提供了一种高效、安全且可扩展的平台来开发Web应用程序。该系统可能包括用户界面、后端数据库、新闻发布、编辑、审核、分类、搜索等功能,为网站管理员提供了方便的方式来维护和更新动态...