我可以以编程方式处理webforms中的缓存页面

时间:2011-08-22 03:47:50

标签: c# asp.net asp.net-4.0

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

另外,一旦我清除缓存,我可以使用HttpWebRequest来调用那些要再次缓存的页面,这样用户就不必了吗?

我知道我可以使用部分页面缓存,但我真的不想将我的页面分解为用户控件。

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

3 个答案:

答案 0 :(得分:1)

如果您使用的数据库是SQL Server,则可以使用SQL缓存依赖项(SqlCacheDependency)进行缓存,它使您可以缓存依赖于数据库中数据的页面。一旦数据库表中的数据发生更改,它将使缓存失效,并在下次生成新页面时... 有关更多和示例,请点击链接:http://msdn.microsoft.com/en-us/library/e3w8402y(v=vs.80).aspx,也可以从www.asp.net下载视频教程

答案 1 :(得分:1)

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

在页面的Render子中,获取页面内容字符串并设置为Application [“YourKey”]。 (第一次通话)

之后,在Page_Init中,您只需检查Application [“YourKey”]是否有值,如果是,则使用response.write(Application [“YourKey”])。

如果要重置缓存,只需将Application [“YourKey”]设置为空。

答案 2 :(得分:0)

当我上周在桌面上重新安装Windows和所有开发人员时,我注意到IIS7现在具有动态缓存模式。它默认不安装。这是关于它的一些信息。希望它有所帮助。

http://blogs.iis.net/bills/archive/2007/05/02/iis7-output-caching-for-dynamic-content-dramatically-speed-up-your-asp-and-php-applications.aspx