问题标签 [httpcontext.cache]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 了解 HttpContext.Current.Cache
我一直在对网站进行一些更改,并注意到当我在数据库中进行更改时,即。添加新的人员值,该人员的姓名不会出现在下拉列表中。
如果我多次重置应用程序池,这个名称最终会出现在我面前。尽管对其他人似乎并不总是如此。
它似乎确实受到缓存的严重控制,我发现了以下内容:
我注意到这里有一些值得关注的值,
缓存会在 30 分钟后过期并插入新人的姓名,还是不会因为 DateTime.MaxValue 而过期。
有任何想法吗?
asp.net-mvc - MVC HttpContext.Current.Cache 获取随机对象
如何从缓存中获取随机对象?我真正想要的是每次访问缓存时获取不同的对象,但随机对象也很好。
asp.net - System.Web.HttpContext.Current.Cache 在不同的浏览器中返回不同的结果
我有一个有效的 ASP.Net Web 服务,它使用 System.Web.HttpContext.Current.Cache(插入和获取)缓存结果。出于测试目的,我在 Web 服务结果中显示了时间。
在同一个浏览器上,它会正确缓存并且在我设置的 1 分钟到期之前不会刷新。
如果我在另一个浏览器(即使在同一台机器上)运行相同的 Web 服务,它会返回一个不同的时间,然后每分钟正确缓存。以前的浏览器仍然显示其旧结果(直到时间到期)。
使用 Safari 在 iPhone 上进行测试做同样的事情(与其他两种浏览器不同的缓存结果)。
为什么每个浏览器的缓存结果不同?我对缓存有点陌生,所以我显然在这里遗漏了一些东西。我正在尝试为每个人缓存结果,而不仅仅是同一浏览器上的同一个人。我希望任何浏览器中的所有用户返回的时间都是相同的。
这是我运行的代码:
我错过了什么?
c# - 为什么我必须将我的对象两次放入 HttpContext 缓存中,然后才能将其永久保存?
当我将对象缓存到 时HttpContext Cache
,我的对象在下一次读取时消失,我必须第二次重新插入该对象(并非总是如此,但 90% 的时间)。在那之后,对象就没有任何问题地呆在那里。
这是发生的事情:
- 开始调试mvc项目
- 从缓存中读取年龄
- 年龄为空,所以我将 50 放入变量中,然后将其插入缓存中
- 对客户端的
CacheItemRemovedCallback
响应完成后立即执行。CacheItemRemovedReason
值为_Removed
- 用户点击立即刷新
- 从缓存中读取年龄
- 年龄仍然为空,所以我将 50 放入变量中,然后将其插入缓存中
- 用户点击立即刷新
- 从缓存中读取年龄
- 年龄终于到了!
那么为什么Cache
在第一次插入时将对象保留在缓存中呢?
这种行为存在于.Net framework 3.5, 4.0, 4.5, 4.5.2
.
这是代码:
c# - MVC 5 HttpContext.Current.Cache 方法在同时被 2 个线程命中时失败
我正在使用以下服务方法来缓存查询结果:
在某个页面中,该方法被 2 个线程同时调用(因为我需要将整个产品集合显示两次,但使用不同的过滤器)。
奇怪的是,我第一次启动应用程序时,只有一个线程“获胜”并接收产品列表,而另一个接收 null。如果我刷新页面,它们都开始正常工作(因为此时它们从缓存中获取结果),但第一次它只是一个或另一个,它们永远不会同时工作。
我还尝试将整个代码包装在 Lock 语句中,但它并没有改变任何事情。我错过了什么?
c# - 在 Asp.net 站点中安排 HTTP 请求
每天晚上我的 HTTPContext.Current.Cache 都会被清除。我想在晚上 X 时间预热站点并用数据填充缓存。
由于我使用 HTTPContext,因此必须在网站内运行。我目前正在通过单击站点上的一个简单按钮来启动缓存,然后在几分钟的时间范围内异步填充缓存。
我已经寻找了一个解决方案,其中选项并没有像我想象的那样轻松完成工作:
System.Timers不断轮询。它似乎也没有设置我希望它运行的特定时间的选项?
Quartz看起来有点矫枉过正,但或许可以胜任。尽管需要阅读以使其正常工作。
RegisterWaitForSingleObject也可以工作,但这里也只有一个计时器?也不确定您是否可以检查是否已经创建了一个对象,因此存在创建许多对象的风险。创建对象后也不更改计时器。
浏览它们的速度相对较快,所以可能是错误的。您对从站点内运行预定的 http 请求有何看法?
[编辑] 错字。
c# - System.Resources.Resourcemanager 是线程安全的吗?
我的 Web 应用程序,当用户使用不同的文化登录时,它的内容部分呈现不正确的文化。
此 Asp.net Web 应用程序将 ResourceManager 缓存在 HttpContext.Current.Cache 中。Resourcemanager GetString 在内部使用 Hashtable 来存储/检索资源字符串。
ResourceManager 的线程安全性如何?