zoukankan      html  css  js  c++  java
  • 缓存依赖注意

    1.表名必须要加dbo.,否则会不缓存每次都会读数据库。

    2.如下语句要写在定义Dataset的前面,否则会更新了数据表,缓存还是没失效,显示的旧数据。

    System.Web.Caching.SqlCacheDependency sqlcache = new System.Web.Caching.SqlCacheDependency(commad);

    protected void Page_Load(object sender, EventArgs e)
        {
            StringBuilder strSql = new StringBuilder();
            //strSql.Append("SELECT [id] ,[value] FROM [dbo].[Test]");


            strSql.Append("select ");

            strSql.Append(" Name,LoginID,PassWord,status,MobileNo,ItvNo ");
            strSql.Append(" FROM dbo.Member ");


            this.data.DataSource = GetMember(strSql.ToString());// ExecuteAndCache(strSql.ToString());//
            this.data.DataBind();
        }


        private DataTable GetMember(string strSql)
        {

            //string key = strSql;// "T1";

            if (HttpRuntime.Cache[strSql] == null)
            {
             
                using (SqlConnection sqlconn = new SqlConnection(SqlHelp.conn))
                {

                    using (SqlCommand commad = new SqlCommand())
                    {
                        System.Web.Caching.SqlCacheDependency sqlcache = new System.Web.Caching.SqlCacheDependency(commad);
                        commad.CommandType = CommandType.Text;
                        commad.CommandText = strSql;                   
                        commad.Connection = sqlconn;
                       

                        DataSet ds = new DataSet();                 

                        new SqlDataAdapter(commad).Fill(ds);
                       
                        HttpRuntime.Cache.Insert(strSql, ds, sqlcache);//添加到缓存中
                    }

                }


            }

            DataSet tds = HttpRuntime.Cache[strSql] as DataSet;
            if (tds != null)
                return tds.Tables[0];
            else
                return null;
        }

    alter database [Test] set enable_broker

    select databasepropertyex('[Test]','IsBrokerEnabled')

  • 相关阅读:
    C#异步和多线程以及Thread、ThreadPool、Task区别和使用方法
    C# LINQ查询表达式用法对应Lambda表达式
    C# WPF 通过委托实现多窗口间的传值
    C# WPF 父控件通过使用可视化树找到子控件
    OpenCV打开摄像头闪退问题
    C#调用pyd
    微信支付(JSAPI、小程序)开发流程记录
    在安装pymysql遇到的问题
    个人理解的python的面向对象
    关于python3.4 MD5
  • 原文地址:https://www.cnblogs.com/antyi/p/2631866.html
Copyright © 2011-2022 走看看