【问题标题】: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
【解决方案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 服务的情况。
如果您需要处理多个扩展,您可以尝试将处理程序的路径设置为 * 而不是 *.