我有一个充当"代理"的模块。我需要解决一些跨域脚本问题。因此,服务器将获取外部内容并将其返回给客户端,并且客户端将保留在同一域中。
我的问题是当有一个"静态文件"在url末尾的名字,我的处理程序没有被调用...这是一个例子:
http://my.url.com/myproxy.ashx/site1/getsomestuff.aspx?parm1=value1
我收到HTTP错误404找不到文件url myproxy.ashx / site1 / getsomestuff.aspx
但是,如果我修改了上面的URL,那么URL的末尾没有虚线文件名,如下所示:
http://my.url.com/myproxy.ashx/site1/getsomestuff_aspx?parm1=value1
调用myproxy.ashx的处理程序。如果我在生成实际查询的URL时将一些kludge代码更改为getsomestuff_aspx到getsomestuff.aspx - 我已经让它工作了。但我非常肯定,特别是在集成管道模式下,我应该能够说如果URL有" myproxy.ashx /"在它的某个地方,然后调用我的处理程序模块......有人能指出我正确的方向......
答案 0 :(得分:0)
我想我想出了这个: 在web.config的system.webServer节点中添加了以下内容:
<handlers> <add name="ProxyAll" preCondition="integratedMode" verb="GET,POST" path="myproxy.ashx*" type="MyNameSpace.MyProxy"/> </handlers>
myproxy.ashx之后的*将匹配所有URL,即使最后还有静态文件名。