Asp.net2.0 页面缓存技术[转]

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>
                   <diskCache enabled="true" maxSizePerApp="2" />
              </outputCache>
              <outputCacheSettings>
                   <outputCacheProfiles>
                        <add name="CacheFor60Seconds" duration="60" />
                   </outputCacheProfiles>
              </outputCacheSettings>
              <!--
              <sqlCacheDependency enabled="true" pollTime="1000" >
                   <databases>
                       <add name="PubsDB" connectionStringName="pubsConnectionString" />
                   </databases>
              </sqlCacheDependency>
              -->
         </caching>

 



你可能感兴趣的:(asp.net)