正在启动asp.net输出缓存
是否有方法以编程方式初始化asp.net输出缓存?我已经研究过缓存API,但似乎找不到一个明显的方法来实现这一点。有人试过这样的东西吗?如果是这样,你使用了什么方法?去年我对此进行了一些思考,最后得出结论,这对于这个案例来说并不重要,但如果这对你的网站很重要,你所要做的就是简单地从某个地方调用网页,比如Application\u Start(在所有代码运行之后)事件,但你不应该到此为止 缓存最终将过期,为了避免在任何客户端请求该页面之前,您应该设置某种方式来再次缓存该页面 使outputcache依赖于缓存中的其他对象,并设置过期回调 因此,当缓存对象过期时,页面也会过期,您应该向要重新缓存的页面发出http请求,以此类推 我正在回答这个问题,但是我的努力和我脑海中的问号让我建议不要再继续下去了 更新 这个。如果您愿意,可以使用它,但是如果您需要将outputcache依赖于其他业务对象,那么这可能会非常困难。我可以告诉您,您可以设置一个数据库对象,并依赖于它,然后自己使用某种计时器使其过期正在启动asp.net输出缓存,asp.net,outputcache,Asp.net,Outputcache,是否有方法以编程方式初始化asp.net输出缓存?我已经研究过缓存API,但似乎找不到一个明显的方法来实现这一点。有人试过这样的东西吗?如果是这样,你使用了什么方法?去年我对此进行了一些思考,最后得出结论,这对于这个案例来说并不重要,但如果这对你的网站很重要,你所要做的就是简单地从某个地方调用网页,比如Application\u Start(在所有代码运行之后)事件,但你不应该到此为止 缓存最终将过期,为了避免在任何客户端请求该页面之前,您应该设置某种方式来再次缓存该页面 使outputcach
伙计,我写得越久,我发现解决问题的方法和困难就越多!我不能为不值得你宝贵时间的东西写一本书。相信我,这样做的有用性几乎为零。正如其他人所建议的那样,启动缓存与请求您想要缓存的页面一样简单。当然,如果你这样做,它只会要求HTML,而不是所有的链接资源(CSS,JavaScript,图像…),这是一件好事,以避免浪费带宽 对于许多网站来说,缓存的、消耗最大性能损失的项目对于许多或所有页面来说都是常见的。例如,大型CMS或店面上的导航系统可能会查询数据库并执行一系列渲染工作,然后可以缓存所有页面。在ASP.net中,初始加载的很大一部分是当网站首次访问并加载到内存中时。这两个问题甚至可以通过调用站点上的单个页面来解决,但是没有什么可以阻止您创建URL列表并定期调用每个URL 如果缓存策略设置为20分钟超时,则可能每17-18分钟请求一次每个页面 以下是一些源代码资源,可帮助您入门:
正如我前面提到的,您可以轻松地将这些扩展到“foreach”,通过一个数组或URL列表进行请求。通过prime,您的意思是希望它提前预加载和缓存所有页面,以便第一个用户不必等待页面创建吗?@Doozer:是的,这正是我想要的。我从未尝试过,以前也没见过。想知道你是否可以在应用程序上触发另一个线程?你开始启动,并用WebRequests或其他东西点击所有页面。如果你愿意在答案中添加一些示例代码,我将奖励你。只是现在我看到了你的评论@DanP。无论是否收到赏金,我都不能给你任何源代码,原因很简单,我没有读过更新。法比奥:谢谢你的更新,有时候“这不是一个好主意”也是一个完全可以接受的答案:)