【问题标题】:ExtensionlessUrlHandler and paths with dotsExtensionlessUrlHandler 和带点的路径
【发布时间】:2013-02-10 18:07:43
【问题描述】:

无扩展 URL(带有 ExtensionlessUrlHandler-Integrated-4.0)在我的 MVC 4 应用程序中运行良好,但其中带有点的路径除外,例如

/tags 工作正常

/tags/.net 不起作用

要使第二个 URL 正常工作,我必须设置 runAllManagedModulesForAllRequests="true" 或删除 UrlRoutingModule-4.0 模块和需要为该 URL 运行的任何其他模块上的 managedHandler 前提条件,这意味着我回到了原点一个和所有这些模块将针对静态请求运行(对吗?)。

有没有办法在路径中使用带点的无扩展 URL?

【问题讨论】:

    标签: asp.net asp.net-mvc iis iis-7.5


    【解决方案1】:

    将路径属性改为星号,如path="*"

    【讨论】:

    【解决方案2】:

    在我的情况下,当我添加一个带有我想要处理的特定扩展名的处理程序副本时,它工作正常:

    <add name="ExtensionlessUrl-Integrated-4.0-webdav-xml" path="*.xml" verb="PUT" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" responseBufferLimit="0" />
    

    这处理了我需要允许使用 PUT 动词将文件上传到 WCF 服务的情况。

    如果您需要处理多个扩展,您可以尝试将处理程序的路径设置为 * 而不是 *.

    【讨论】:

    • "尝试将处理程序的路径设置为 * 而不是 *." - 不幸的是,这似乎会导致 another problem
    【解决方案3】:

    从“”更改路径属性。到“/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-12
      • 2017-10-03
      • 1970-01-01
      • 2014-04-04
      相关资源
      最近更新 更多