gpt4 book ai didi

asp.net-mvc - 带有 ASP.NET MVC 的 HttpHandlers

转载 作者:行者123 更新时间:2023-12-01 09:28:34 24 4
gpt4 key购买 nike

如果我有一个标准的 AXD HttpHandler 和 *.axd 的默认忽略路由,那么为什么 ASP.NET MVC 仍在处理子目录中的请求,例如,如果有针对 **/Content/Css/* 的请求*css.axd?d....如果请求是在根目录/css.axd?d.... 下进行的,一切正常。

最佳答案

我猜路由是故意设计成那样的,可能是因为字符串开头的通配符性能不佳。

不幸的是,这行不通:

routes.IgnoreRoute("{ *pathAndResource }.axd/{ *pathInfo }")

解决方案是使用约束 - 参见 Phil Haack's blog post

Phil 的博客使用正则表达式约束,但您也可以创建自己的自定义约束,以提高可读性:

routes.IgnoreRoute("match axds"
"{*url}", new { controller = "MyController", action = "MyAction" }, new
{
myCustomConstraint = new FileExtensionConstraint(".axd")
}

关于asp.net-mvc - 带有 ASP.NET MVC 的 HttpHandlers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1666211/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com