gpt4 book ai didi

c# - 替换 ASP.NET MVC 中的路由解析器

转载 作者:太空宇宙 更新时间:2023-11-03 11:15:35 27 4
gpt4 key购买 nike

所以我的 MVC 应用程序从刚刚浏览过的用户那里收到请求,例如/主页/关于。它会检查 RouteTable 中的匹配模式,并将其分派(dispatch)给正确的 Controller 和 Action。太好了。

如果我想接管那个功能怎么办?我不想重写 URL,我不想在过滤器上下文或类似的东西中弄乱 RouteData 属性。我想接管我的 MVC 应用程序将路由 X 转换为 Controller Y 和操作 Z 的部分。类似于 MyRouteResolver : IRouteResolver(如果确实存在的话)。

我一直在 MSDN 上四处寻找,但找不到关于在哪里完成的任何提示。感谢您的帮助。

最佳答案

您可以编写一个有效地做同样事情的 http 处理程序/模块,查看 System.Web.Routing.UrlRoutingHandler 以了解它们是如何做到的。

然而,有一个问题是 MVC 中查找路由 url 的所有调用都不起作用(例如 UrlHelper),它们都被硬编码以获取静态路由集合。您可以填充该路由集合以使其工作,但我不确定您从拥有您的 ow 路由处理程序中获得了什么。

当前的路由处理程序相当灵活,您也许可以编写自己的路由类(请参阅 RouteBase)而不是替换整个处理程序。

关于c# - 替换 ASP.NET MVC 中的路由解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12762934/

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