我能以编程方式处理web表单中的缓存页面吗?

本文关键字:缓存 表单 编程 方式 web 处理 | 更新日期: 2023-09-27 18:06:22

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

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

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

我能以编程方式处理web表单中的缓存页面吗?

我可以访问服务器和IIS。

如果你使用的数据库是SQL Server,你可以使用SQL缓存依赖(SqlCacheDependency)来缓存,它使你能够缓存依赖于数据库数据的页面。一旦数据库表中的数据发生变化,它将使缓存失效,下一次将生成新的页面。欲了解更多示例,请访问链接:http://msdn.microsoft.com/en-us/library/e3w8402y(v=vs.80).aspx,也可以从www.asp.net下载视频教程

如果您在页面上没有任何操作(如提交,…),这会导致Postback:

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

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

当你想重置缓存时,只需将Application["YourKey"]设置为none

当我上周重新安装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