使用ashx/axd处理程序和使用我在ASP.NET中编写的东西之间的区别是什么?

dan*_*ine 4 asp.net handlers

这可能很简单但是我真的很困惑.当我实现IHttpHandler时,我创建了一个处理程序,然后在web.config中注册它:

IIS6 Portion:
<httpHandlers>
    <add verb="*" path="*.randomextension" type="MyProgramNameSpace.MyHandler" />
</httpHandlers>

IIS7 Portion:
<handlers>
    <add name="mine" verb="*" path="*. randomextension" type ="MyProgramNameSpace.MyHandler" />
</handlers>
Run Code Online (Sandbox Code Playgroud)

它看起来工作得很好,并且可以使用不同的处理程序和选项.它让我通过直接访问管道跳过Page类等等.但是,我经常会遇到文档,其中说我需要使用关于ashx或axd的东西.

这是关于什么的?这与处理程序创建有什么关系?

这可能很容易,但出于某种原因,我在使用这个ashx或axd处理程序时完全感到困惑.

jri*_*sta 6

.asxh处理程序只是一个预先存在/预定义的通用处理程序映射.与.aspx处理程序不同,您不限于从Page派生,也不会获得完整的ASP.NET页面处理程序事件管道.通常,您使用.ashx文件来处理作为输入或作为输出非标准内容返回的非页面请求.

与.ashx处理程序和自定义IHttpHandler的不同之处并不多.为.ashx文件预定义了很多配置,但是,您必须绑定到该扩展名.使用完全自定义的IHttpHandler,您可以完全自由地完成自由,但需要从头开始配置它.