处理程序Handler
介绍处理程序概念前,因先说下HttpModule
请求管道。我们可以将请求管道看成将请求过滤和根据请求找到具体的处理程序HttpHandler
和处理程序结束流向管道。
处理程序Httphandler
就是针对不同请求类型的不同处理程序(包括:webForm,WebServie等等)。
创建一个处理程序
创建以处理程序简单分为两个步骤:
- 创建一个类实现
IhttpHandler
- 注册处理程序 add子元素的三个属性:verb:Http请求类型(Get,Post...);Path 路径;type处理程序的名称
以上是自己创建方式,为了更灵活的创建。系统一般处理工厂IhttpHandlerFactory
的方法GetHandler()
得到处理程序。根据不同的文件类型,利用具体的处理程序工厂动态创建处理程序,开人员只需关注自己业务。
常用的处理工厂
一般处理程序
扩展名为ashx使用,一般用处理结果为:XML,json数据或图片等请求
页面处理程序
最复杂的,用于返回HTML页面。工厂为PageHandlerFactory
。当首次访问.aspx页面时PageHandlerFactory
将其生成两个类,其继承的Page
类实现了,IHandler
接口。所有开发人员只需要编辑一页面,其他交有编译器生成。
web处理程序
扩展类型.asmx,其中系统对方法提供了不同的标签
标签名 | 作用 |
---|---|
[ScriptService] | 通过ajax访问返回json数据 |
[WebService] | XML数据 |
资源处理程序
允许程序员通过Http访问程序集访问网站中的资源(如script脚本、图片在开发自定义控件时常用)
WebResourceAttribute
在程序集中描述资源,获取资源通过ClientScriptManager.GetWebResourceUrl()
System. Type type= typeof( DiskFileUpload. FileItem);
string url= this. ClientScript.System. Type type= typeof( DiskFileUpload. FileItem);
string url= this. ClientScript.
禁止访问资源
禁止http访问HttpForbiddenHandler
,开人员可以通过config配置不可访问的文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)