• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > ASP.NET之自定义同步HTTP处理程序(图文教程)

ASP.NET之自定义同步HTTP处理程序(图文教程)

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了http://asp.net,http://www.asp.net,自定义控件 asp.net,自定义表单 asp.net,asp.net等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

一、前言

说来这片简单的教程还真是碰巧,是刚好我在写另一个页指令的时候看到的。就跟着进来看了看是什么东西,发现比我们之前只会用.ashx,并且只能在申请这个文件才可以进行响应。这些似乎让它变不灵活,不能让我们灵活的应用。而自定义HTTP处理程序可以完全消除上面的问题,它只是一个.cs的类文件,并且你只要按照很简单的准备工作就可以获得很多的灵活度:

1.可以自定义用户访问何网页时响应该文件并把数据呈现发送给客户端 

2.可以对所有具有一致的后缀名的请求文件定义一个处理程序 

3.具有同步与异步选择

我相信一定有人对于上面的说有一定不的理解,这里我需要解释它的一个重要意义,那么大家就自然知道它的灵活所在了。

我们先举例:

1.比如你访问    http://www.****.com/web1.msll

你一定发现了问题所在.后缀名是 .msll 你浏览网页到如今一定没有见过。而这个的确就是自定义HTTP处理程序的一个特点所在,后缀名可以自己伪造。这个时候你一定会认为 web1 是那个 .cs 文件的名称,但是结果是 web1 根本不是那个 .cs 文件的文件名.他们是通过绑定来实现的。比如我实现了一个  he.cs 的类,然后我将其绑定到  hehehe.ppd 那么当你访问 http://www.*****.com/hehehe.ppd  那么响应这个页面的是 he.cs 的输出结果

2.我们还是假设你访问  http://www.****.com/list1.ssm

                       http://www.****.com/list2.ssm

                       http://www.****.com/list3.ssm

   假如我告诉你这个三个看似不同的页面其实都是一个 HTTP处理程序的输出结果,这个其实很好理解,如果我写了一个 bbsss.cs 的类,并且实现了有关功能。然后我将其绑定到 *.ssm 你可以发现这里是 *.ssm  这个时候你就按照你正常的思考,就是只要是对后缀名是 .ssm 页面的申请都是使用同一个 bbsss.cs 类,这下是不是有趣了

二、注册与绑定

   为什么要有这两部呢?而且还是要注册与绑定这两个呢?

   答案是 你只写一个类 vs是不可能知道你这个东西是干什么的,所以我们需要在 web.config 中注册我们自定义的HTTP处理程序。而绑定则是让iis知道我们这个站点中含有一个自定义的HTTP处理程序。(下面我将以 iis7 为例说明如何绑定)

1.注册

2.绑定( iis7 )

    1) 打开 iis7 -》 打开  网站  节点 -》 点击你的网站的名称

    2) 双击

    3) 点击

    4)

    5) 最后点击 确定 这样在 iis 中的绑定就完成了(后面的完整例子我将会以文字介绍该过程)

三、关于类的实现注意点

   虽然我们介绍完了注册与绑定,但还不是所有,关于类的实现也有一定的要求。根据MSDN文档的说明必须实现 ProcessRequest 方法与 IsReusable 属性

关于 ProcessRequest 可以暂时理解为 Page_Load (即使他比Page_Load更底层)

其次就是没有内置的 Request 与 Response ,可能有些人要崩溃了那怎么写啊,很简单的问题没有内置我们就自己去定义

IsReusable 的类型是 bool 类型,而且只要实现 get 不需要实现 set ,如果返回 true 表示使用线程池 如果为 false 表示不使用

关于这个类文件的放置也有要求,要放在App_Code 文件夹下(vs的站点中可以直接新建这个特殊的文件夹)

四、完整的例子(自行新建类)

1.

   以下为 HelloWorldHandler.cs 类的具体实现(放置在 App_Code 文件夹下)

以下为具体配置

然后测试 http://localhost/SampleApplication/test.sample(端口为 80 时)

你就可以看到你的成果了

五、完结

到此你已经基本掌握了 自定义同步HTTP处理程序 ,当然这个只是一小部分,后面我们还会接触到异步,因为同步在用户访问量很大的情况下将会使服务器资源迅速耗尽,而且也会让降低用户的实用性

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Asp.Net服务器发送HTTP标头后无法设置内容类型的问题解决
  • ASP.NET设置404页面返回302HTTP状态码的解决方法
  • ASP.NET笔记之Session、http、web开发原则、xss漏洞的详细介绍
  • ASP.NET之自定义同步HTTP处理程序(图文教程)
  • ASP.NET之自定义异步HTTP处理程序(图文教程)
  • asp.net Http异常eurl.axd出错信息解决方法
  • ASP.NET生成eurl.axd Http异常错误的处理方法
  • asp.net 截取Http请求的实现代码
  • asp.net 模拟提交有文件上传的表单(通过http模拟上传文件)
  • 运行asp.net时出现 http错误404-文件或目录未找到

相关文章

  • 2017-05-11asp.net中ADO SQL数据库 笔记汇总 持续更新中
  • 2017-05-11ASP.NET站点导航应用详解
  • 2017-05-11asp.net C# 时间间隔的计算方法
  • 2017-05-11ASP.NET2.0中数据源控件之异步数据访问
  • 2017-05-11asp.net中session的原理及应用详解
  • 2017-05-11asp.net使用Socket.Send发送信息及Socket.SendFile传输文件的方法
  • 2017-05-11asp.net GridView中超链接的使用(带参数)
  • 2017-05-11在ASP.NET 2.0中操作数据之四:使用ObjectDataSource展现数据
  • 2017-05-11asp.net中各种类型的JSON格式化
  • 2017-05-11asp.net 购物车的实现浅析

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Visual Studio 2015 配置 Opencv3.2的图文详解
    • c# 读取Northwind数据库image字段
    • asp.net中一款极为简单实用的图表插件(jquery)
    • VS2012实现简单登录界面
    • asp.net 水晶报表隔行换色实现方法
    • Asp.net与SQLserver一起打包部署安装图文教程
    • 在ASP.NET 2.0中操作数据之三十八:处理BLL和DAL的异常
    • ASP.NET Core使用微软官方类库实现汉字转拼音
    • ASP.NET实现TreeView的XML数据源绑定实例代码
    • C# 判断两张图片是否一致的快速方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有