当前位置: 首页 > news >正文

如何制作一个软件/赣州seo外包

如何制作一个软件,赣州seo外包,SOHO香港公司网站怎么做,视频点播服务器前言                                    之前从网上找了几篇讲解如何自定义HttpHandler的文章,依葫芦画瓢却一直没成功过。经过上一篇《asp.net管道模型(管线模型)之一发不可收拾》的总结,对…

前言                                   

  之前从网上找了几篇讲解如何自定义HttpHandler的文章,依葫芦画瓢却一直没成功过。经过上一篇《asp.net管道模型(管线模型)之一发不可收拾》的总结,对管道模型和请求/响应过程有进一步的了解后,再结合Asp.Net 构架(Http Handler 介绍) - Part.2后终于成功定义自己的HttpHandler和HttpHandlerFactory了^_^、

  本文有些地方会跟《asp.net管道模型(管线模型)之一发不可收拾》有些重叠,但角度会有所不同,两篇文章相互补充,希望能完整地呈现管道模型的全貌。

目录                                   

1.发送Default.aspx时默认得到相应HttpHandler的过程;

2.如何配置;

3.自定义HttpHandler;

4.自定义HttpHandlerFactory;

5.应用实例。

发送Default.aspx时默认得到相应HttpHandler的过程           

  IIS下有一个metabase文件,可通过网站—》属性—》主目录—》配置—》映射中添加、修改、删除。

            图1

IIS会检查请求文件是否在metabase文件中有对应的处理应用程序。default.aspx对应的是Aspnet_ISAPI.exe来处理(所以执行文件路径为Aspnet_ISAPI.exe的文件均由它处理),然后Aspnet_ISAPI.exe就把请求转发到Asp.net工作进程。跳到管道模型的HttpApplication中(之前还有很多步骤,这里着重讲解HttpApplication后面的步骤),HttpApplication根据Url的后缀名调用相应的HttpHandlerFactory(默认情况下.aspx调用System.Web.UI.PageHandlerFactory,.ashx调用System.Web.UI.SimpleHandlerFactory),然后HttpHandlerFactory在生成default.aspx具体的HttpHandler实例。

如何配置                                 

之前一直迷失在如何配置的问题上,这里先说明白吧!

下面是自定义HttpHandler时配置的根据:

IIS进行第一次筛选,HttpApplication进行第二次筛选。所以

1.自定义时要配置IIS让它把对应的文件后缀映射到Asp_ISAPI.exe来处理;

2.在应用程序级web.config中配置<HttpHandlers>节点使HttpApplication能根据配置把请求交由相应的HttpHandlerFactory或HttpHandler处理。

具体web.config配置:

1 <handlers>
2 <add verb="*" path="*.myhandler" type="My.MyHandler,MyAssembly"/>
3 </handler>

verb:请求动作(get,post,*);

path:文件路径(*通配符);

type:,前的参数为自定义HttpHandler或HttpHandlerFactory的完整类名(含命名空间),,后的参数为自定义HttpHandler或HttpHandlerFactory所在的程序集名(不含dll后缀)。

 

自定义HttpHandler                           

  定义一个继承IHttpHandler接口的类并实现接口的方法:

复制代码
 1 public class MyHandler:IHttpHandler
2 {
3 public MyHandler()
4 {
5 }
6
7 public void ProcessRequest(HttpContext context)
8 {
9 context.Response.ContentType = "text/html";
10 context.Response.Write("MyHandler");
11 }
12
13 public bool IsReusable
14 {
15 get { return true; }
16 }
17 }
复制代码

1.ProcessRequest方法就是具体处理请求的地方;

2.IsReusable标识该HttpHandler类的实例对象是否可重用。就是当第一个请求发送过来时,实例化一个HttpHandler实例对象,如果IsReusable为true,那么第二个请求发送过来时就可以用回该实例对象而不用重新构造一个,如果为false就要重新构造一个实例。(有点啰嗦了(*^__^*) 嘻嘻……)一般返回true,提高效率嘛!!

web.config中配置

1 <Handlers>
2 <add verb="*" path="*.gif" type="MyHandler,MyHandler"/>
3 </Handlers>

IIS中配置,在图1中添加一项映射项,扩展名为.gif,可执行文件路径为C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,动作为全部动作,然后把“确定文件是否存在”的复选框取消选中(如果选中了,就必须由对应的文件存在才能处理,如url为a.gif,就必须有a.gif文件真实存在,否则就返回404)。

 注意:自定义的HttpHandler必须放在其他项目工程中,然后引用到Web项目中,也就是说配置文件中的type的程序集名称必须写,否则无法执行。

自定义HttpHandlerFactory                       

定义一个继承IHttpHandlerFactory接口的类并实现接口的方法:

复制代码
 1 public class MyHandlerFactory:IHttpHandlerFactory
2 {
3 public MyHandlerFactory()
4 {
5 }
6
7 #region IHttpHandlerFactory 成员
8
9 public IHttpHandler GetHandler(HttpContext context, string requestType, string url, string pathTranslated)
10 {
11 return new MyHandler();
12 }
13
14 public void ReleaseHandler(IHttpHandler handler)
15 {
16 throw new NotImplementedException();
17 }
18
19 #endregion
20 }
复制代码

1.GetHandler获取新的具体的HttpHandler实例;

2.ReleaseHandler使工厂可以重用现有的处理程序实例。

web.config中配置

1 <Handlers>
2 <add verb="*" path="*.gif" type="MyHandlerFactory,MyHandlerFactory"/>
3 </Handlers>

这里不用配置MyHandler。

IIS中配置,在图1中添加一项映射项,扩展名为.gif,可执行文件路径为C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,动作为全部动作,然后把“确定文件是否存在”的复选框取消选中(如果选中了,就必须由对应的文件存在才能处理,如url为a.gif,就必须有a.gif文件真实存在,否则就返回404)。

 

应用实例                                 

     Asp.Net 构架(Http Handler 介绍) - Part.2中有一个使用HttpHandler防止图片盗链的实例,很实用哦!

如果您觉得本文的内容有趣就扫一下吧!捐赠互勉!


本文转自^_^肥仔John博客园博客,原文链接:http://www.cnblogs.com/fsjohnhuang/archive/2012/02/04/2338003.html,如需转载请自行联系原作者

http://www.lbrq.cn/news/1394065.html

相关文章:

  • 河南网站建设公司哪个好呀/北京aso优化
  • 印后设备网站建设/整站seo优化哪家好
  • wordpress链接翻译/优化网站怎么真实点击
  • 公司网站建设方案书/活动软文怎么写
  • 山东省青州市建设局网站/登封网站关键词优化软件
  • 做网站在哪里买空间域名/子域名查询工具
  • 如何整理网站/网页生成app
  • 青海高端网站建设价格/南京seo推广公司
  • 网站开发工程师课程/竞价托管哪家公司好
  • 网络工程师职业分析/搜索引擎优化的简写是
  • 网站建设维护 知乎/最近七天的新闻大事
  • 北京电商平台网站建设/2023b站推广大全
  • 广西壮锦网站建设策划书/关键词优化的作用
  • 网站的定位/友情链接的形式
  • 莞城东莞网站建设/网站设计方案
  • 青岛的网站建设公司哪家好/企业seo外包公司
  • 做网站需要哪些费用支出/广州网络推广外包平台
  • 中山医疗网站建设/海外广告优化师
  • 哈尔滨专业官网建站企业/网络推广比较经典和常用的方法有
  • 调用wordpress编辑器/seo推广软件品牌
  • 苹果电脑做网站好用吗/网站推广的10种方法
  • 品牌型网站制作价格/代刷网站推广链接0元价格
  • 大气网站建设/苏州整站优化
  • 提供网站推广公司电话/网站免费网站免费优化优化
  • 网站集约化建设纪要/合肥网站快速排名提升
  • wordpress分类信息模板/引擎seo优
  • 域名跳转网站/进入百度官网首页
  • 字体设计素材网/无锡网站建设方案优化
  • 做网站 江门/设计网站都有哪些
  • 凡科怎样免费做网站/国际新闻报道
  • MFC随笔—不使用对话框资源模板创建对话框
  • 深入理解与应用向量嵌入(Vector Embeddings):原理、实现与多场景实践
  • Bigemap APP 详细使用教程,入门学习PPT
  • RabbitMQ:SpringAMQP 入门案例
  • 【数据结构】堆和二叉树详解(下)
  • 力扣面试150(60/150)