【问题标题】:HttpHandler path matchingHttpHandler 路径匹配
【发布时间】:2012-11-28 13:19:55
【问题描述】:

在带有 IIS7 的 ASP.NET 4.0 中,我创建了一个 HttpHandler 并在 web.config 中注册了它

<add name="MyHandler" path="MyPath/*" verb="*" type="MyProject.MyHandler, MyHandler" />

在这里,我尝试实现的是处理对http://my-server/MyPath/* 的所有文件请求,但是通过这样的设置,对http://my-server/SubFolder/MyPath/* 的请求也会被处理,而不是我想要的。

绝对路径是我可以用来保证第一级文件夹匹配的唯一方法吗?

还有什么更好的主意吗?

【问题讨论】:

    标签: asp.net httphandler


    【解决方案1】:

    您可以为此使用位置元素

    <location path="MyPath">
      <system.webServer>
         <handlers>
          <add name="MyHandler" path="MyPath/*" verb="*" type="MyProject.MyHandler, MyHandler"/>
        </handlers>
      </system.webServer>
    </location>
    

    【讨论】:

    • 不工作,像http://my-server/public/home.aspx 这样的事件请求未被处理程序捕获。
    • 这就是你想要的,不是吗?根目录下 MyPath 文件夹内的所有文件都会被处理,没有别的。
    • 我希望能够处理http://my-server/public/*,但不能处理http://my-server/subfolder/public/*,但是通过使用位置,我根本无法匹配~/MyFolder/*
    • 您是否根据需要修改了位置路径中的值?
    • Gotha,我必须使用&lt;location path="MyPath"&gt; 而不是&lt;location path="~/MyPath"&gt; 才能工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-14
    • 2011-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-11
    • 2016-06-02
    相关资源
    最近更新 更多