2011-08-22 24 views
3

例如,我的主页显示了一些最新的产品。我想将此页面设置为无限期缓存,然后在创建新产品时,我可以删除代码中的缓存页面,而不是缓存一段时间,并希望用户看到最新的内容。我是否可以通过编程方式处理webforms中的缓存页面

此外,一旦我清除缓存,我可以使用HttpWebRequest来调用这些页面再次缓存,以便用户不必?

据我所知,我可以使用部分页面缓存,但我真的不感兴趣把我的网页分解成用户控件。

注意:我可以访问服务器和IIS。

回答

1

如果您使用的数据库是SQL Server,则可以使用SQL缓存依赖项(SqlCacheDependency)进行缓存,这使您可以缓存依赖于数据库数据的页面。一旦数据库表中的数据发生变化,它将使缓存无效,并在下一次生成新页面时... 欲了解更多和样本,这里是链接:http://msdn.microsoft.com/en-us/library/e3w8402y(v=vs.80).aspx和也可以从www.asp.net你可以下载的视频教程太

+0

我看到这个工作的方式是你在web.config设置轮询间隔。这可能是我将要去的方式,但是在我的代码中手动执行它可以在一天内节省数百或数千个数据库请求。 –

1

如果你没有在页面上的任何操作(如提交,...),这将导致回发:

在渲染页面的子,让页面内容字符串和设置进入应用程序[“YourKey”]。 (第一次通话)

之后,在Page_Init中,您可以简单地检查应用程序[“YourKey”]是否有值,如果是,请使用response.write(Application [“YourKey”])。

当您想重置缓存时,只需将Application [“YourKey”]设置为空。

相关问题