C# visual studio 2013中的自定义js httphandler

C# visual studio 2013中的自定义js httphandler,c#,asp.net,visual-studio-2013,iis-express,C#,Asp.net,Visual Studio 2013,Iis Express,我正在尝试连接一个自定义IHttpHandler来处理对我网站的*.js文件请求。在我的一生中,当有人向我的web服务器请求js文件时,我甚至不能让IISExpress创建我的httphandler。我尝试了system.webServer处理程序设置的几种变体,包括 <add name="MyHandler" type="BusinessLayer.Web_Stuff.MyHandler, BusinessLayer" verb="*" path

我正在尝试连接一个自定义IHttpHandler来处理对我网站的*.js文件请求。在我的一生中,当有人向我的web服务器请求js文件时,我甚至不能让IISExpress创建我的httphandler。我尝试了system.webServer处理程序设置的几种变体,包括

<add name="MyHandler"
       type="BusinessLayer.Web_Stuff.MyHandler, BusinessLayer"
       verb="*"
       path="*.js"
       resourceType="Unspecified"
       preCondition="integratedMode" 
       modules="IsapiModule" 
       scriptProcessor="c:\windows\Microsoft.net\framework\v4.0.30319\aspnet_isapi.dll"/>

我正在Visual Studio 2013中使用IISExpress运行此功能。如果我将路径改为*.test而不是js,那么这个处理程序可以毫无问题地工作,但我无法使它适用于*.js文件。似乎IISExpress只是通过提供磁盘外的文件来处理这些请求。有人知道如何绕过它,以便我可以让我的处理程序处理js文件的请求吗


更正:当我在指定IsapiModule的情况下使用top web.config设置时,会实例化MyHandler的一个实例,但从未对我的对象调用接口的ProcessRequestHttpContext上下文方法。根据最下面的定义,我的处理程序的任何实例都不会被实例化。

经过几个小时的争论,我终于找到了答案。关键是我必须向system.webServer中的modules xml元素添加一个属性

    <modules runAllManagedModulesForAllRequests="true" >
如果没有此属性,则不会调用流程请求处理程序。设置之后,这就是处理程序部分所需的全部内容

  <add name="JSHandler"
       type="BusinessLayer.Web_Stuff.ScriptMinifyHandler, BusinessLayer"
       verb="*"
       path="*.js"
       resourceType="Unspecified"
       preCondition="integratedMode" />
我必须多读一些关于这个设置的书,但是如果有人能告诉我更多关于为什么这样做的话,我很想听听

  <add name="JSHandler"
       type="BusinessLayer.Web_Stuff.ScriptMinifyHandler, BusinessLayer"
       verb="*"
       path="*.js"
       resourceType="Unspecified"
       preCondition="integratedMode" />