首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Asp.Net中为所有子文件夹注册HttpHandler?

在Asp.Net中为所有子文件夹注册HttpHandler,可以通过以下步骤实现:

  1. 在项目的根目录下创建一个名为“web.config”的文件,如果已经存在该文件,则直接打开。
  2. 在web.config文件中,添加以下代码:
代码语言:xml<configuration>
复制
 <system.web>
    <httpHandlers>
      <add verb="*" path="*.your-extension" type="YourNamespace.YourHttpHandler, YourAssembly" />
    </httpHandlers>
  </system.web>
 <system.webServer>
    <handlers>
      <add name="YourHttpHandlerName" verb="*" path="*.your-extension" type="YourNamespace.YourHttpHandler, YourAssembly" />
    </handlers>
  </system.webServer>
</configuration>

其中,your-extension是你想要注册的子文件夹的扩展名,YourNamespace.YourHttpHandler是你自定义的HttpHandler类的命名空间和类名,YourAssembly是包含该类的程序集名称。

  1. 保存web.config文件。

现在,当你访问任何以.your-extension结尾的子文件夹时,都会触发你自定义的HttpHandler类。

需要注意的是,如果你的子文件夹中包含了其他文件类型的文件,例如.html.css等,这些文件也会被视为HttpHandler请求,因此需要在HttpHandler类中进行判断和处理。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET三剑客 HttpApplication HttpModule HttpHandler 解析

在HttpApplication初始化过程ASP.NET会根据配置文件加载并初始化注册的HttpModule对象。...global.asax文件每个Web应用程序提供了一个从HttpApplication派生的Global类。该类包含事件处理程序,Application_Start。...与HttpHandler针对某一种请求文件不同,HttpModule则是针对所有的请求文件,映射给指定的处理程序对请求进行处理,而这些处理,可以发生在请求管线的任何一个事件。...我们打开C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config文件夹下的webconfig文件,可以发现这样一段配置: 这些都是ASP.NET内置的...在C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config文件夹下的webconfig文件,也可以找到ASP.NET内置的HttpHandler配置。

2.1K90

ASP.NET三剑客 HttpApplication HttpModule HttpHandler 解析

在HttpApplication初始化过程ASP.NET会根据配置文件加载并初始化注册的HttpModule对象。...global.asax文件每个Web应用程序提供了一个从HttpApplication派生的Global类。该类包含事件处理程序,Application_Start。 ?...与HttpHandler针对某一种请求文件不同,HttpModule则是针对所有的请求文件,映射给指定的处理程序对请求进行处理,而这些处理,可以发生在请求管线的任何一个事件。...在C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config文件夹下的webconfig文件,也可以找到ASP.NET内置的HttpHandler配置。...那么HttpHandler就很适合这种场景的处理,我们以jpg格式的图片例。

93350

Asp.net管道模型(管线模型)之一发不可收拾

当HttpApplication执行到Application_ResolveRequestCache时暂时将控制权交给HttpHandler并根据HttpHandler是否启用SessionState...上图左边IIS5.X WEB SERVER,右边Asp.net Application的工作进程(worker process),Asp.net是以作为IIS组件的形式扩展IIS的。   ...(扩展程序)映射记录(.aspx、.ashx等对应aspnet_isapi.dll),如果metabase文件没有就再检查是否不受服务器端保护的文件(受服务器端保护:App_Code文件夹下的文件...server类型):1.开始->所有程序->管理工具->服务->开启 Asp.net状态服务,然后配置一下网站的web.config<sessionState mode="StateServer" stateConnectionString....x设计一个服务器只启用一个工作进程来处理所有请求/响应,保证各个Application(以虚拟目录单位)独立运行且不干扰其他Application(一个Application崩溃不导致整个进程崩溃

2.3K90

asp.net MVC 应用程序的生命周期

先看看微软官方是怎么定义HttpApplication的: 定义 ASP.NET 应用程序所有应用程序对象共有的方法、属性和事件。...AcquireRequestState 当 ASP.NET 获取与当前请求关联的当前状态(会话状态)时发生。...PostUpdateRequestCache 在 ASP.NET 完成缓存模块的更新并存储了用于从缓存后续请求提供服务的响应后,发生此事件。...LogRequest 在 ASP.NET 完成缓存模块的更新并存储了用于从缓存后续请求提供服务的响应后,发生此事件。...当一个请求转入ASP.net管道时,最终负责处理请求的是与资源相匹配的HttpHandler对象,但是在HttpHandler进行处理之前,ASP.NET先会加载并初始化所有配置的HttpModule对象

1.8K90

asp.net MVC 应用程序的生命周期

先看看微软官方是怎么定义HttpApplication的: 定义 ASP.NET 应用程序所有应用程序对象共有的方法、属性和事件。...AcquireRequestState 当 ASP.NET 获取与当前请求关联的当前状态(会话状态)时发生。...PostUpdateRequestCache 在 ASP.NET 完成缓存模块的更新并存储了用于从缓存后续请求提供服务的响应后,发生此事件。...LogRequest 在 ASP.NET 完成缓存模块的更新并存储了用于从缓存后续请求提供服务的响应后,发生此事件。...当一个请求转入ASP.net管道时,最终负责处理请求的是与资源相匹配的HttpHandler对象,但是在HttpHandler进行处理之前,ASP.NET先会加载并初始化所有配置的HttpModule对象

1.6K30

asp.net MVC 应用程序的生命周期

先看看微软官方是怎么定义HttpApplication的: 定义 ASP.NET 应用程序所有应用程序对象共有的方法、属性和事件。...AcquireRequestState 当 ASP.NET 获取与当前请求关联的当前状态(会话状态)时发生。...PostUpdateRequestCache 在 ASP.NET 完成缓存模块的更新并存储了用于从缓存后续请求提供服务的响应后,发生此事件。...LogRequest 在 ASP.NET 完成缓存模块的更新并存储了用于从缓存后续请求提供服务的响应后,发生此事件。...当一个请求转入ASP.net管道时,最终负责处理请求的是与资源相匹配的HttpHandler对象,但是在HttpHandler进行处理之前,ASP.NET先会加载并初始化所有配置的HttpModule对象

1.3K10

ASP.NET-自定义HttpModule与HttpHandler

在之前的ASP.NET是如何在IIS下工作的这篇文章中介绍了ASP.NET与IIS配合工作的机制,在http请求经过一系列处理后,最后到达ASP.NET管道,这时,就是Http Modules和HttpHandler...#当 ASP.NET 执行完事件处理程序以使缓存模块存储将用于从缓存为后续请求提供服务的响应时发生 PostUpdateRequestCache #在 ASP.NET 完成缓存模块的更新并存储了用于从缓存后续请求提供服务的响应后...处理完 LogRequest 事件的所有事件处理程序后发生 EndRequest #在 ASP.NET 响应请求时作为 HTTP 执行管线链的最后一个事件发生 PreSendRequestContent...没错,可以指定处理程序一个HttpHandler,也可以指定为一个抽象工厂类型。先不说工厂类型的事儿,访问一下网站的asox页面,看一下文本文件的记录情况。 ?...起作用了,在HttpModule输出的一堆信息,夹杂着HttpHandler的输出,当然这仅限于访问asox类型的页面,因为我只对路径*.asox的文件格式做了设置,修改下配置文件,例如将path=

1.8K81

IIS 5.x与ASP.NET

,尽管采用性能最好的命名管道,但是仍然会带来性能的瓶颈; 所有ASP.NET应用,运行在相同的进程(aspnet_wp.exe)的不同的应用程序域(AppDomain),基于应用程序域的隔离级别不能从根本上解决一个应用程序对另一个程序的影响...在工作进程的初始化过程,相应的ISAPI.dll被加载,对于ASP.NET应用来说,被加载的ISAPI.dllAspnet_ispai.dll。...比如.aspx页对应的HttpHandlerSystem.Web.UI.Page,WCF的.svc文件对应的HttpHandlerSystem.ServiceModel.Activation.HttpHandler...HttpHandler处理请求得到的相应保存到输出缓存 LogRequest,PostLogRequest ASP.NET先后触发这两个事件当前请求进程日志记录 EndRequest 整个请求处理完成后...与之相似地,当请求转入ASP.NET管道后,最终负责处理该请求的是与请求资源类型相匹配的HttpHandler对象,但是在Handler正式工作之前,ASP.NET会先加载并初始化所有配置的HttpModule

2.7K20

ASP.NET MVC是如何运行的: 建立在“伪”MVC框架上的Web应用

通过上面对ASP.NET管道设计的介绍,我们知道ASP.NET的扩展点只要体现在HttpMoudle和HttpHandler这两个核心组建之上,实际上整个ASP.NET MVC框架就是通过自定义的HttpMoudle...(UrlRoutingModule)和HttpHandler(MvcHandler)实现的。...前面定义的HomeController定义在命名空间WebApp下,由于请求地址只能解析出Controller类型的名称,我们需要将该命名空间注册当前ControllerBuilder的默认命名空间...为了 让定义在HomeController的Action方法Index来处理针对该Web应用的访问请求,我们需要指定与之匹配的地址(符合定义在注册地址模板的URL模式)。...上面我们我们演示了如何在我们自己创建的“迷你版”ASP.NET MVC框架创建一个Web应用,从中我们可以看到和创建一个真正的ASP.NET MVC应用别无二致。

1.3K60

WCF技术剖析之二:再谈IIS与ASP.NET管道

,尽管采用性能最好的命名管道,但是仍然会带来性能的瓶颈; 所有ASP.NET应用,运行在相同的进程(aspnet_wp.exe)的不同的应用程序域(AppDomain),基于应用程序域的隔离级别不能从根本上解决一个应用程序对另一个程序的影响...在工作进程的初始化过程,相应的ISAPI.dll被加载,对于ASP.NET应用来说,被加载的ISAPI.dllAspnet_ispai.dll。...比如.aspx页对应的HttpHandlerSystem.Web.UI.Page,WCF的.svc文件对应的HttpHandlerSystem.ServiceModel.Activation.HttpHandler...HttpHandler处理请求得到的相应保存到输出缓存 LogRequest,PostLogRequest ASP.NET先后触发这两个事件当前请求进程日志记录 EndRequest 整个请求处理完成后...与之相似地,当请求转入ASP.NET管道后,最终负责处理该请求的是与请求资源类型相匹配的HttpHandler对象,但是在Handler正式工作之前,ASP.NET会先加载并初始化所有配置的HttpModule

1.5K110

理解并自定义HttpModule

而HttpModule是通过在管道模型Asp.net的应用程序级事件进行订阅,当应用程序级事件触发时调用HttpModule对应的处理方法。...系统内部的HttpModule                             Asp.net内部很多功能都以HttpModule形式来实行,Windows、Forms和PassPort认证、...订阅HttpModule的事件,这里MM_具体的事件名,详细请见下面实例。...整个过程很好理解: 当站点第一个资源被访问的时候,Asp.Net会创建HttpApplication类的实例,它代表着站点应用程序,同时会创建所有在Web.Config中注册过的Module实例。...关于委托可参考:委托与事件 Global.asax文件与 HttpModule                     在asp.net,Glabal不仅可以注册应用程序和Session事件,还可以注册

71560

httphandler和httpmodule的区别

ASP.Net处理Http Request时,使用Pipeline(管道)方式,由各个HttpModule对请求进行处理,然后到达 HttpHandlerHttpHandler处理完之后,仍经过Pipeline...,它根据申请的页 面后缀(.aspx)不同,调用不同的页面处理程序(.asp->asp.dll; .aspx->ISAPI.dll).而页面处理程序在处理过程,则要经历HttpModule,HttpHandler...IHttpHandler则属于挑食类型,只有ASP.net注册过的文件类型(例如aspx,asmx等等)才会轮到调用它. 3.IHttpHandler按照你的请求 生成响应的内容,IHttpModule...对请求进行预处理,验证、修改、过滤等等,同时也可以对响应进行处理 ASP.Net系统本身配置有很多HttpHandler和HttpModule,以处理aspx等.Net标准的页面文件,以及这些页面文件中标...r_objEventArgs) { HttpApplication objApp = (HttpApplication)r_objSender; objApp.Response.Write("您请求的URL"

1.1K80

ASP.NET路由系统实现原理:HttpHandler的动态映射

我们可以通过HttpHandler的动态映射来实现请求地址与物理文件路径之间的分离。实际上ASP.NET路由系统就是采用了这样的实现原理。...如下图所示,ASP.NET路由系统通过一个注册到当前应用的自定义HttpModule对所有的请求进行拦截,并通过对请求的分析之动态匹配一个用于处理它的HttpHandler。...对于通过调用RouteCollection的MapPageRoute方法注册的Route来说,它的RouteHandler是一个类型PageRouteHandler对象。...路由系统扩展 到此为止我们已经对ASP.NET的路由系统的实现进行了详细介绍,总的来说,整个路由系统是通过对HttpHandler的动态注册的方式来实现的。...对于被拦截的请求,UrlRoutingModule利用注册的路由表对其进行匹配和解析,进而得到一个包含所有路由信息的RouteData对象。

1.6K60

200行代码,7个对象——让你了解ASP.NET Core框架的本质

我们可以将请求理解输入、响应理解输出,所以应用程序可以利用HttpContext得到当前请求所有的输入信息,也可以利用它完成我们所需的所有输出工作。...那么HttpHandlerASP.NET Core是通过Action来表示的吗?...那么在.NET Core的世界如何来表示一个同步或者异步操作呢?你应该想得到,那就是Task对象,那么HttpHandler自然就可以表示一个Func对象。...现在问题来了,所有ASP.NET Core应用使用的都是同一个HttpContext类型,但是却可以注册不同类型的服务器,我们必需解决两者之间的适配问题。 ?...由于在创建WebHost的时候需要提供注册的服务器和由所有注册中间件构建而成的RequestDelegate,所以在对应接口IWebHostBuilder,我们它定义了三个核心方法。

1K30

200行代码,7个对象—让你了解ASP.NET Core框架的本质

我们可以将请求理解输入、响应理解输出,所以应用程序可以利用HttpContext得到当前请求所有的输入信息,也可以利用它完成我们所需的所有输出工作。...那么HttpHandlerASP.NET Core是通过Action来表示的吗?...那么在.NET Core的世界如何来表示一个同步或者异步操作呢?你应该想得到,那就是Task对象,那么HttpHandler自然就可以表示一个Func对象。...现在问题来了,所有ASP.NET Core应用使用的都是同一个HttpContext类型,但是却可以注册不同类型的服务器,我们必需解决两者之间的适配问题。...由于在创建WebHost的时候需要提供注册的服务器和由所有注册中间件构建而成的RequestDelegate,所以在对应接口IWebHostBuilder,我们它定义了三个核心方法。

30530

WCF技术剖析之二:再谈IIS与ASP.NET管道

,尽管采用性能最好的命名管道,但是仍然会带来性能的瓶颈; 所有ASP.NET应用,运行在相同的进程(aspnet_wp.exe)的不同的应用程序域(AppDomain),基于应用程序域的隔离级别不能从根本上解决一个应用程序对另一个程序的影响...在工作进程的初始化过程,相应的ISAPI.dll被加载,对于ASP.NET应用来说,被加载的ISAPI.dllAspnet_ispai.dll。...比如.aspx页对应的HttpHandlerSystem.Web.UI.Page,WCF的.svc文件对应的HttpHandlerSystem.ServiceModel.Activation.HttpHandler...HttpHandler处理请求得到的相应保存到输出缓存 LogRequest,PostLogRequest ASP.NET先后触发这两个事件当前请求进程日志记录 EndRequest 整个请求处理完成后...与之相似地,当请求转入ASP.NET管道后,最终负责处理该请求的是与请求资源类型相匹配的HttpHandler对象,但是在Handler正式工作之前,ASP.NET会先加载并初始化所有配置的HttpModule

1.2K41

ASP.Net请求处理机制初步探索之旅 - Part 3 管道

HttpHandler总结:在ASP.NET WebForm,无论是一般处理程序还是WebPage都实现了IHttpHandler接口,而ASP.NET MVC也有MvcHandler实现了IHttpHandler...在这个示例,我们已经创建了一个HttpModule和HttpHandler,并且也在所有的事件通过添加自定义逻辑代码展示了一个简单的响应。   ...在这个事件,对于访问不同的资源类型,ASP.NET具有不同的HttpHandler对其进程处理。..._routeCollection = value; } } }   从源码可以看出,在UrlRoutingModule请求处理管道的第七个事件PostResolveRequestCache...取出请求的Controller、Action等RouteData信息,与路由表所有规则进行匹配,若匹配,把请求交给IRouteHandler,即MVCRouteHandler。

1.1K20

Http请求处理流程

希望通过这一系列文章,可以让你更好的理解Asp.Net的运作流程。 Http请求处理流程概述 思考“为什么在地址栏输入www.tracefact.net就可以看到张阳的个人空间?”...在操作系统启动的时候,IIS首先在HTTP.SYS中注册自己的虚拟路径。 实际上相当于告诉HTTP.SYS哪些URL是可以访问的,哪些是不可以访问的。...但是我们忽略了一个细节:程序员编写的代码是如何在这一过程衔接的,本章我们就来看看这个问题。...Http请求经过所有的Module之后,它会被HttpHandler处理。在这一步,执行实际的一些操作,通常也就是.aspx页面所完成的业务逻辑。...Http请求在HttpHandler 和 HttpModule 的流动方向 总结 本文中,我首先概要介绍了这系列文章将要为大家讲述的主题。

1.3K20

WCF技术剖析之四:基于IIS的WCF服务寄宿(Hosting)实现揭秘

现在我们之添加一个global.asax,在该global.asax,我通过如下的代码注册了HttpApplication处理请求的前三个事件:BeginRequest、AuthenticateRequest...此外,HttpModule注册的操作会先于定义在global.asax的Application_PostAuthenticateRequest方法执行,那么在整个服务调用过程,只有Application_BeginRequest...Activation.HttpModule将忽略对HttpApplication对象PostAuthenticateRequest事件的注册,原本实现在HttpModule对WCF Service的请求处理逻辑将被一个...HttpHandler:System.ServiceModel.Activation.HttpHandler。...HttpHandler的定义如下,请求处理实现在ProcessRequest方法,具体的逻辑与实现在System.ServiceModel.Activation.HttpModule的是完全一致的。

1.2K100
领券