gpt4 book ai didi

c# - 如何避免在不同位置具有相同键/值查询字符串的重复网址?

转载 作者:行者123 更新时间:2023-12-03 06:01:17 24 4
gpt4 key购买 nike

我正在使用 Azure Redis 缓存,我的 key 是请求 url。我有一个 web-api2/mvc5 应用程序,如果带有请求 url 的 key 存在,它会从 Redis 服务器返回缓存结果,否则它将处理请求并将结果保存在 Azure Redis 缓存服务器中。我有 IOS/Android 和 javascript 的移动客户端。问题是有时我的网址看起来像,

http://example.com/MyPath/?b=2&a=1&c=
http://example.com/MyPath/?b=2&a=1&c
http://example.com/MyPath/?a=1&b=2
http://example.com/MyPath/?c=&a=1&b=2
http://example.com/MyPath/?a=1&b=2
http://example.com/MyPath/?a=1&b=2&c=

上面的url指向相同的资源。它应该返回相同的响应(如果存在缓存响应),但由于 key(url) 不同,它会完全处理请求并在 Azure Redis 缓存服务器上保存不同的记录。如何解决这种情况?

最佳答案

使用 MVC 路由将为您的 URL 提供标准格式。

您将能够在 ASP.NET 中使用默认的 html 帮助程序,例如 @Html.Action("MethodName","Controller",new { a=1, b=2 })

您可以在 RouteConfig.cs 类中指定自定义路由模板(默认情况下在 app_start 中),也可以使用属性路由。

MSDN: MVC5 Attribute Routing

关于c# - 如何避免在不同位置具有相同键/值查询字符串的重复网址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29915271/

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