Asp.net2.0 页面缓存技术
2006-12-01 19:41
405 查看
1. 回显缓存
加入这一句 <%@ OutputCache Duration=60 VaryByParam=none %>
%@ 为页面属性
Duration 为缓存超时时间, 60 秒后过期
VaryByParam 为因哪个参数而改变
2. 回调缓存
<%@ OutputCache Duration=60 VaryByParam=stata %>
根据 lll.aspx?stata=的内容分别缓存
下面的方法可以根据内容刷新
<script runat="server">
Shared Function GetCurrentDate(ByVal context As HttpContext) As String
Return Now.ToString()
End Function
</script>
<asp:Substitution ID="Substitution1" runat="server" MethodName="GetCurrentDate" />
3.碎片缓存
自己做控件,使用<%@ OutputCache Duration=60 VaryByParam=none %>
只缓存这个控件
4 数据缓存
<script runat="server">
Sub Page_Load(ByVal Src As Object, ByVal E As EventArgs)
Dim Source As DataView
' try to retrieve item from cache
' if it's not there, add it
Source = Cache("MyDataSet")
If Source Is Nothing Then
Dim MyConnection As SqlConnection
Dim MyCommand As SqlDataAdapter
MyConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("pubsConnectionString").ConnectionString)
MyCommand = New SqlDataAdapter("select * from Authors", MyConnection)
Dim ds As New DataSet
MyCommand.Fill(ds, "Authors")
Source = New DataView(ds.Tables("Authors"))
Cache("MyDataSet") = Source
CacheMsg.Text = "Dataset created explicitly"
Else
CacheMsg.Text = "Dataset retrieved from cache"
End If
MyGrid.DataSource = Source
MyGrid.DataBind()
End Sub
</script>
5 配置数据库连接池
C:/>dir aspnet_regsql.exe /s
驱动器 C 中的卷是 系统
卷的序列号是 5CE1-C72D
C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727 的目录
2005-09-23 07:28 106,496 aspnet_regsql.exe
1 个文件 106,496 字节
C:/>cd /WINDOWS/Microsoft.NET/Framework/v2.0.50727
C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727>aspnet_regsql.exe
运行 asp.net sql Server配置向导
Aspnet_regsql.exe –S “/DBNAME” –E –d “pubs” –ed
-E windows 授权
–ed 为enabled
Aspnet_regsql.exe –S “/DBNAME” –E –D “pubs” –et –t “authors”
当 pubs.authors 改变时改变缓存
<%@ OutputCache Duration="9999999" VaryByParam="none" SqlDependency="pubs.authors" %>
5 缓存配置
<caching>
<outputCache>
<diskCacheenabled="true"maxSizePerApp="2" />
</outputCache>
<outputCacheSettings>
<outputCacheProfiles>
<addname="CacheFor60Seconds"duration="60" />
</outputCacheProfiles>
</outputCacheSettings>
<!--
<sqlCacheDependency enabled="true" pollTime="1000" >
<databases>
<add name="PubsDB" connectionStringName="pubsConnectionString" />
</databases>
</sqlCacheDependency>
-->
</caching>
加入这一句 <%@ OutputCache Duration=60 VaryByParam=none %>
%@ 为页面属性
Duration 为缓存超时时间, 60 秒后过期
VaryByParam 为因哪个参数而改变
2. 回调缓存
<%@ OutputCache Duration=60 VaryByParam=stata %>
根据 lll.aspx?stata=的内容分别缓存
下面的方法可以根据内容刷新
<script runat="server">
Shared Function GetCurrentDate(ByVal context As HttpContext) As String
Return Now.ToString()
End Function
</script>
<asp:Substitution ID="Substitution1" runat="server" MethodName="GetCurrentDate" />
3.碎片缓存
自己做控件,使用<%@ OutputCache Duration=60 VaryByParam=none %>
只缓存这个控件
4 数据缓存
<script runat="server">
Sub Page_Load(ByVal Src As Object, ByVal E As EventArgs)
Dim Source As DataView
' try to retrieve item from cache
' if it's not there, add it
Source = Cache("MyDataSet")
If Source Is Nothing Then
Dim MyConnection As SqlConnection
Dim MyCommand As SqlDataAdapter
MyConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("pubsConnectionString").ConnectionString)
MyCommand = New SqlDataAdapter("select * from Authors", MyConnection)
Dim ds As New DataSet
MyCommand.Fill(ds, "Authors")
Source = New DataView(ds.Tables("Authors"))
Cache("MyDataSet") = Source
CacheMsg.Text = "Dataset created explicitly"
Else
CacheMsg.Text = "Dataset retrieved from cache"
End If
MyGrid.DataSource = Source
MyGrid.DataBind()
End Sub
</script>
5 配置数据库连接池
C:/>dir aspnet_regsql.exe /s
驱动器 C 中的卷是 系统
卷的序列号是 5CE1-C72D
C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727 的目录
2005-09-23 07:28 106,496 aspnet_regsql.exe
1 个文件 106,496 字节
C:/>cd /WINDOWS/Microsoft.NET/Framework/v2.0.50727
C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727>aspnet_regsql.exe
运行 asp.net sql Server配置向导
Aspnet_regsql.exe –S “/DBNAME” –E –d “pubs” –ed
-E windows 授权
–ed 为enabled
Aspnet_regsql.exe –S “/DBNAME” –E –D “pubs” –et –t “authors”
当 pubs.authors 改变时改变缓存
<%@ OutputCache Duration="9999999" VaryByParam="none" SqlDependency="pubs.authors" %>
5 缓存配置
<caching>
<outputCache>
<diskCacheenabled="true"maxSizePerApp="2" />
</outputCache>
<outputCacheSettings>
<outputCacheProfiles>
<addname="CacheFor60Seconds"duration="60" />
</outputCacheProfiles>
</outputCacheSettings>
<!--
<sqlCacheDependency enabled="true" pollTime="1000" >
<databases>
<add name="PubsDB" connectionStringName="pubsConnectionString" />
</databases>
</sqlCacheDependency>
-->
</caching>
相关文章推荐
- Asp.net2.0 页面缓存技术
- Asp.net2.0 页面缓存技术[转]
- asp.net页面缓存技术
- ASP.NET2.0缓存(Cache)技术
- 缓存技术的使用(hibernate或jpa的二级缓存,以及页面jsp级别的缓存)
- 新手入门 ASP.NET2.0缓存技术-asp.net关注
- ASP.NET的页面缓存技术
- 新手入门 ASP.NET2.0缓存技术
- asp.net页面缓存技术(Cache、XML)
- 基于Html5缓存的页面P2P技术可行性探讨
- ASP.NET2.0缓存(Cache)技术深入理解
- web页面缓存技术之Local Storage
- EHCache页面缓存技术
- web页面缓存技术之Local Storage
- PHP 静态页面缓存技术 示例
- asp.net页面缓存技术(Cache、XML)
- ASP.NET 缓存:方法和最佳实践 页面缓存技术(Cache、XML)
- asp.net页面缓存技术
- ASP.NET2.0缓存(Cache)技术
- 基于Html5缓存的页面P2P技术可行性探讨