Asp.net 当URL以“静态”文件名结尾时,IIS ASP集成管道模式未调用正确的模块

Asp.net 当URL以“静态”文件名结尾时,IIS ASP集成管道模式未调用正确的模块,asp.net,iis,integrated-pipeline-mode,Asp.net,Iis,Integrated Pipeline Mode,我有一个作为代理的模块。它需要解决我遇到的一些跨域脚本问题。因此,服务器将获取外部内容并将其返回给客户机,而客户机位于同一个域中 我的问题是,当url末尾有一个静态文件名时,我的处理程序不会被调用。。。以下是一个例子: http://my.url.com/myproxy.ashx/site1/getsomestuff.aspx?parm1=value1 我发现url myproxy.ashx/site1/getsomething.aspx的HTTP错误404文件未找到 但是,如果我弄乱了上面

我有一个作为代理的模块。它需要解决我遇到的一些跨域脚本问题。因此,服务器将获取外部内容并将其返回给客户机,而客户机位于同一个域中

我的问题是,当url末尾有一个静态文件名时,我的处理程序不会被调用。。。以下是一个例子:

 http://my.url.com/myproxy.ashx/site1/getsomestuff.aspx?parm1=value1
我发现url myproxy.ashx/site1/getsomething.aspx的HTTP错误404文件未找到

但是,如果我弄乱了上面的URL,因此URL末尾没有虚线文件名,如下所示:

 http://my.url.com/myproxy.ashx/site1/getsomestuff_aspx?parm1=value1

调用myproxy.ashx的处理程序。如果我在生成实际查询的URL时,使用一些乱码将getsomestuff_aspx更改为getsomestuff.aspx,那么我已经让它工作了。但我非常确定,特别是在集成管道模式下,我应该能够在某个地方说,如果URL中的某个地方有myproxy.ashx/,那么调用我的处理程序模块。。。有人能给我指出正确的方向吗

我想我找到了这个答案: 在web.config的system.webServer节点中添加了以下内容:

myproxy.ashx后面的*将匹配所有URL,即使最后是静态文件名

 <handlers>   <add name="ProxyAll" preCondition="integratedMode" verb="GET,POST" path="myproxy.ashx*" type="MyNameSpace.MyProxy"/> </handlers>