数据库表的缓存

来源:互联网 发布:卡密软件下载 编辑:程序博客网 时间:2024/06/01 09:04

 

 

AggregateCacheDependency(数据库表的缓存)

cs代码:

private AggregateCacheDependency GetDependencty()
        {
            AggregateCacheDependency aggDep = new AggregateCacheDependency();

            aggDep.Add(new SqlCacheDependency("IPBlockedDependency", "IPBlocked"));
            return aggDep;
        }
        private DataSet GetDataProxy()
        {
            DataSet ds = HttpRuntime.Cache["SQL2000_CacheTest_UserList"] as DataSet;
            if (ds == null)
            {
                SqlConnection con = new SqlConnection("SERVER=.;UID=sa;PWD=sa;DATABASE=Test");
              
                SqlCommand command = new SqlCommand("select * from IPBlocked where id>3", con);
                AggregateCacheDependency cd = GetDependencty();
                SqlDataAdapter sda = new SqlDataAdapter("select * from IPBlocked where id>3", con);
                con.Open();
                DataSet ds1 = new DataSet();
                sda.Fill(ds1);
                HttpRuntime.Cache.Insert("SQL2000_CacheTest_UserList", ds1, cd);
                Response.Write("来源为数据库!");
            }
            return ds;
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            GetDataProxy();
        }

webconfig配置:

<?xml version="1.0" encoding="utf-8"?>

<configuration>

    <appSettings>
   
</appSettings>
<connectionStrings>
    <add name="SiteSqlServer" connectionString="SERVER=.;UID=sa;PWD=sa;DATABASE=Test"/>
</connectionStrings>

    <system.web>
        <!--
            设置 compilation debug="true" 将调试符号插入
            已编译的页面中。但由于这会
            影响性能,因此只在开发过程中将此值
            设置为 true。
        -->
        <compilation debug="true" />
        <!--
            通过 <authentication> 节可以配置 ASP.NET 使用的
            安全身份验证模式,
            以标识传入的用户。
        -->
        <authentication mode="Windows" />
        <!--
            如果在执行请求的过程中出现未处理的错误,
            则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
            开发人员通过该节可以配置
            要显示的 html 错误页
            以代替错误堆栈跟踪。

        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
        </customErrors>
        -->
      <!--add by lw-->
      <caching>
        <sqlCacheDependency enabled="true" pollTime="10000">
          <databases>
            <add connectionStringName="SiteSqlServer" name="IPBlockedDependency"/>
          </databases>
        </sqlCacheDependency>
      </caching>
    </system.web>
</configuration>