微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net mvc 5中具有不同控制器的唯一子段路由

如何解决asp.net mvc 5中具有不同控制器的唯一子段路由

我有一个用例,其中我想对不同的控制器路由使用类似的子弹URL 喜欢

[Route("~/{prodSlug:prod}")]
ControllerAction1

[Route("~/{CatSlug:cat}")]
ControllerAction2

[Route("~/{users:user}")]
ControllerAction3

等...

现在我已经定义了不同的自定义约束,并且它们根据数据库字典匹配true或false 但请求完成后,我仍然收到错误消息。

Multiple controller types were found that match the URL. This can happen if attribute routes on multiple controllers match the requested URL.

The request has found the following matching controller types:
MrnMrsPetFoodFront.Controllers.CategoryController
MrnMrsPetFoodFront.Controllers.ProductController

我看到的原因是,一旦在categoryconstraint中找到一条路由并继续使用产品和其他方法,则mvc不会停止 一旦找到匹配项,或者在mvc 5中无法匹配,他们是否会停止此操作? 我知道我可以在 RouteConfig 上提供路由约束并建立基于正则表达式的匹配项,但这仅适用于应用程序启动,并且当链接数量可以达到时,这不是可行的解决方案随时间推移达到10k或50k或更多。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。