【发布时间】:2017-11-23 10:54:33
【问题描述】:
我正在构建一个网站,该网站将具有一个功能,如果您将鼠标悬停在一个对象上,一个特殊的 div 将被 ajax 填充并包含该对象的详细信息。
由于客户端并不是那么重要,我只想说某些元素上的 jquery 悬停事件会触发带有 https://api..../GetDetails/*Id* url 的 ajax .load(),并且该函数将通过 EntityFramework 和视图将类似于
@model Details
<h1>@Model.Name</h1>
(再次简化,因为这不是重点)。
但是随着用户群的增长,以及一个人可以像疯子一样随意滑动鼠标这一事实,我认为不缓存它会造成流量问题。
有没有可能,如果有,我如何缓存响应以便
https://api..../GetDetails/ABC 总是返回相同的东西而不做所有背后的数学运算,https://api..../GetDetails/DEF 不返回 ABC 但它也被缓存了?
【问题讨论】:
-
我突然想到,从技术上讲,我可以在服务器上使用 HongFire 之类的调度程序,以便它为每个项目创建一个包含 html 信息的文件夹,并且网络上的链接只是引用该文件实际的 api 调用..
-
我认为如果您使用 jQuery .load 方法,它会缓存它,因此每次页面加载只会发出一个网络请求。我会用打开的浏览器开发工具来测试它,看看有多少网络请求被发送到你的端点。
-
我确信会有很多调用.. 将对象从一侧移动到另一侧(jquery ui droppable)以进行验证.. 我可以说出很多 ajax调用以获取 json 数据 + 我在悬停时讨论的内容
标签: .net ajax caching asp.net-core-mvc .net-core