后缀为 ashx 与 axd 的文件区别浅析
更新时间:2021年9月22日 10:14 点击:1681
唯一不同的地方是: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上。
所以在项目的添加文件中,向导只有添加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上。
上一篇: C#.NET发送邮件的实例代码
相关文章
- 获取ashx得到的内容,一般用于ajax的情况比较多一点;重点:ashx页面传过来的就是已经处理好的数据,感兴趣的朋有可以参考下啊,希望本文对你学习ajax有所帮助...2021-09-22
asp.net中js和jquery调用ashx的不同方法分享
asp.net中js和jquery调用ashx的不同方法分享,需要的朋友可以参考一下...2021-09-22ASP.NET:把ashx写到类库里并在页面上调用的具体方法
最近在调整博客的架构,进一步把表现和业务分离,所以要把之前用ashx搞的那些Http Handler放到类库中,下面是具体的步骤及代码...2021-09-22- 一般处理程序(HttpHandler):是一个实现System.Web.IHttpHandler接口的特殊类。任何一个实现了IHttpHandler接口的类是作为一个外部请求的目标程序的前提,感兴趣的朋友可以了解下或许有所帮助...2021-09-22
- 这篇文章主要是对ashx文件的使用进行了介绍。需要的朋友可以过来参考下,希望对大家有所帮助...2021-09-22
- .ashx文件中获取cookies值对于一些高手们就不多说了,至于一些小白们还是有必要多多学习啊,好了话不多说,看代码,感兴趣的你可不要错过了哈...2021-09-22
- 这篇文章主要介绍了asp.net利用ashx文件实现文件的上传功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-09-22
基于.NET中:自动将请求参数绑定到ASPX、ASHX和MVC的方法(菜鸟必看)
这篇文章的目的就是告诉初学者如何自动将客户端用AJAX发送的参数自动绑定为强类型的成员属性或方法参数...2021-09-22- 分页思路: .ashx程序中,编写好取得不同页码的程序。在页面布局好的前提下,留下数据区域 div。然后在页面请求 .ashx程序生成下一页的html代码。覆盖div.innerHTMl...2021-09-22
- 这篇文章主要为大家详细介绍了ASP.NET ashx实现无刷新页面生成验证码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-22
- 有时候需要在ASHX中获取Session,可是一般是获取不到的,如何解决,下面说一下获得的方法...2021-09-22
Asp.net在ashx文件中处理Session问题解决方法
Asp.net在ashx文件中处理Session问题解决方法,需要的朋友可以参考一下...2021-09-22- 其实扩展名为ashx与为axd基本上是一样的,都是用于写web handler,可以通过它来调用IHttpHandler类,它免去了普通.aspx页面的控件解析以及页面处理的过程。...2021-09-22
- 这篇文章主要介绍了*.ashx文件不能访问Session值的解决方法,只需在头部引用一个命名空间即可解决问题,非常实用,需要的朋友可以参考下...2021-09-22
- 这篇文章主要介绍了html+ashx 表单提交的具体实现,需要的朋友可以参考下...2021-09-22
- 这篇文章主要是对aspx与ascx,ashx的用法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助...2021-09-22
- 这篇文章主要介绍了ashx以及ashx文件与aspx文件之间的区别。需要的朋友可以过来参考下,希望对大家有所帮助...2021-09-22