asp.net - 使用 ashx/axd 制作处理程序和使用我在 ASP.NET 中自己制作的东西有什么区别?

标签 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>

它似乎工作得很好,并且可以使用不同的处理程序和选项。它让我通过直接访问管道来跳过 Page 类等等。但是,我经常遇到文档,其中说我需要使用有关 ashx 或 axd 的某些内容。

这到底是怎么回事?这与处理程序创建有什么关系?

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

最佳答案

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

与 .ashx 处理程序和自定义 IHttpHandler 的区别并不大,真的。许多配置是为 .ashx 文件预定义的,但是,您必须使用该扩展名。使用完全自定义的 IHttpHandler,您拥有完全和完全的自由,但需要从头开始配置它。

关于asp.net - 使用 ashx/axd 制作处理程序和使用我在 ASP.NET 中自己制作的东西有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1350145/

相关文章:

asp.net - 什么Jenkins插件可以用于.NET网站部署?

asp.net - Docker 错误 : failed to register layer: Error processing tar file(exit status 1): "...msader15.dll.mui: no such file or directory"

java - 嵌套的 postDelayed/Runnable/Handler Android

javascript 事件处理程序无法正常工作

asp.net - web.config中的处理程序上的path属性的含义

php - 如何在 monolog 中使用 swiftmailer 处理程序

c# - w[警告]未找到测试结果文件 azure devops

c# - ASP.net 中的嵌套数据列表

javascript - 如何在Asp.Net中使用JavaScript中的公共(public)或内部类?

android - 如何将 Runnable 对象传递给处理程序?