您的位置:首页 > 编程语言 > ASP

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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: