后缀为 ashx 与 axd 的文件区别浅析

 更新时间:2013年07月30日 11:17:33   作者:  
其实扩展名为ashx与为axd基本上是一样的,都是用于写web handler,可以通过它来调用IHttpHandler类,它免去了普通.aspx页面的控件解析以及页面处理的过程。
唯一不同的地方是:axd扩展名的必须要在web.config中的<httpHandlers>中进行注册,而ashx直接在项目中当成aspx那样添加使用即可。
所以在项目的添加文件中,向导只有添加ashx文件的模板,而没有添加axd文件的模板。那微软为什么这么无聊搞两个后缀,全部使用ashx不就行了么?干脆利落。原来,如果你的web handler代码不在Web的项目中的话,那你就不能使用ashx了,因为如果不在web.config中注册的话,系统根本不知道要在那个dll库中才能找到相应的代码。
如:
<add verb="*" path="OpenSearch.axd" type="Company.Components.HttpHandler.OpenSearchHandler, (命名空间.类名)Company.Extensions(.dll文件名)" validate="false"/>
只有注册了,web才知道OpenSearch.axd原来是在Company.Extensions.dll中,使用Company.Components.HttpHandler.OpenSearchHandler类处理。
当然你搞个<add verb="*" path="OpenSearch.ashx" type=.... 那也未免不可,习惯规范而已。
  webconfig里那么写的原理是,首先iis会把.axd的文件handle,然后就交给FreeTextBoxControls.AssemblyResourceHandler,   FreeTextBox这个命名的类来处理而不是让aspnet去处理。 
  但是你的服务器提供商可能为了安全起见,把.axd到aspnet_isapi.dll的映射去掉了,所以你在服务器运行就错误了。你现在唯一能做的就是联系你的服务器提供商,让他们恢复这个映射。 
  扩展名:   .axd 
  执行文件:C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll 
  限制为:GET,HEAD,POST,DEBUG 
  脚本引擎打勾
在服务器的IIS里有个默认的映射:就是将*.axd映射到aspnet_isapi.dll上。 

相关文章

  • 微信小程序 (十七)input 组件详细介绍

    微信小程序 (十七)input 组件详细介绍

    这篇文章主要介绍了微信小程序 input 组件详细介绍的相关资料,需要的朋友可以参考下
    2016-09-09
  • asp.net中Null在从数据库读取的时候的一点点小技巧

    asp.net中Null在从数据库读取的时候的一点点小技巧

    我们先看下面的一段代码,这段代码其实很平常,也是我们平时做项目很常用的一段
    2012-04-04
  • Ubuntu16.04系统配置.net core环境

    Ubuntu16.04系统配置.net core环境

    本文给大家介绍的是在Ubuntu16.04系统配置.net core环境的方法,由于作者本身用的是WIN系统,所以这次教程是在VMware中进行的,希望大家能够喜欢。
    2016-07-07
  • .NET实现WebSocket服务端即时通信实例

    .NET实现WebSocket服务端即时通信实例

    本篇文章主要介绍了.NET实现即时通信,WebSocket服务端实例 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • ASP.NET Core 应用程序中的静态文件中间件的实现

    ASP.NET Core 应用程序中的静态文件中间件的实现

    这篇文章主要介绍了ASP.NET Core 应用程序中的静态文件中间件的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • ASP.NET(C#)读取Excel的文件内容

    ASP.NET(C#)读取Excel的文件内容

    开发过程中难免会遇到读取Excel文件的情况,本文主要记录读取Excel文件的方法由于本文目的是供自己和各位童鞋日后学习参考,没有考虑过多方面,把所有方法及属性全部放到了一个文件中。
    2013-02-02
  • Discuz!NT数据库读写分离方案详解

    Discuz!NT数据库读写分离方案详解

    Discuz!NT这个产品在其企业版中提供了对‘读写分离’机制的支持,使对CPU及内存消耗严重的操作(CUD)被 分离到一台或几台性能很高的机器上,而将频繁读取的操作(select)放到几台配置较低的机器上,然后通过‘事务 发布订阅机制’,实现了在多个sqlserver数据库之间快速高效同步数据,从而达到了将‘读写请求’按实际负载 情况进行均衡分布的效果。
    2010-06-06
  • 深入理解.NET对象的内存布局

    深入理解.NET对象的内存布局

    在.NET中,理解对象的内存布局是非常重要的,这将帮助我们更好地理解.NET的运行机制和优化代码,本文将介绍.NET中的对象内存布局,感兴趣的可以了解一下
    2023-08-08
  • asp.net生成验证码代码(纯中文)

    asp.net生成验证码代码(纯中文)

    下面我来写一个生成纯中文的验证码技术,写一个类库,需要的朋友可以参考下
    2012-06-06
  • ASP.NET让FileUpload控件支持浏览自动上传功能的解决方法

    ASP.NET让FileUpload控件支持浏览自动上传功能的解决方法

    这篇文章主要介绍了ASP.NET让FileUpload控件支持浏览自动上传功能的解决方法,很实用的技巧,需要的朋友可以参考下
    2014-07-07

最新评论