日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

SqlCacheDependency

系統 1769 0

SqlCacheDependency

web頁面代碼片段:

web頁面代碼
String connectionString = " Data Source=localhost;Initial Catalog=BalloonShop;Integrated Security=True " ;
DataTable dt
= (DataTable)HttpContext.Current.Cache[ " Customer_test " ];
if (dt == null )
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
String sqlStr
= " SELECT dbo.Product.ProductID, Name, col_name FROM " +
" dbo.Product inner join dbo.ProductCategory on " +
" dbo.Product.ProductID = dbo.ProductCategory.ProductID inner join " +
" dbo.tb_category on dbo.ProductCategory.CategoryID = dbo.tb_category.col_id " ;
conn.Open();
SqlCommand command
= new SqlCommand();
command.Connection
= conn;
command.CommandText
= sqlStr;
// DataTableCache.Dependency = new SqlCacheDependency(command);
SqlCacheDependency dependency = new SqlCacheDependency(command);
         SqlDataAdapter adapter
= new SqlDataAdapter(command);
DataSet ds
= new DataSet();
adapter.Fill(ds,
" Customers " );
dt
= ds.Tables[ 0 ];
// command.Connection.Close();
DataTableCache.AddCache( " Customer_test " , dt, command);//緩存通知失效 不起作用
DataTableCache.AddCache("Customer_test", dt,
dependency );// 成功
// HttpContext.Current.Cache.Insert("Customer_test", dt, dependency);

}
}

gvwCustomers.DataSource
= dt;
gvwCustomers.DataBind();

DataTableCahche的代碼片段:

DataTableCache代碼
public class DataTableCache
{
private DataTableCache(){ }
private static SqlCacheDependency dependency = null ;

public static SqlCacheDependency Dependency {
get { return dependency; }
set { dependency = value; }
}
public static void AddCache(String key, DataTable dt,SqlCommand command) {
dependency
= new SqlCacheDependency(command);
HttpContext.Current.Cache.Insert(key, dt, dependency);
}
public static void AddCache(String key, DataTable dt, SqlCacheDependency dependency) {
HttpContext.Current.Cache.Insert(key, dt, dependency);
}
public static void AddCache(String key, DataTable dt) {
HttpRuntime.Cache.Insert(key,dt, dependency);
}
}
當我使用上面紅色的部分插入cache的時候,我改變數據庫中的數據時,界面上的數據卻不會變化,通知失效機制不能成功運行,
當我使用藍色的部分插入cache的時候,
我改變數據庫中的數據時,界面上的數據能發生變化,通知失效機制能成功運行,我很困惑,這到底是什么原因?
提問于2010-01-19 11:57

?

所有回答(2)
0 0
                    
                      
                        這個有問題
                      
                    


private static SqlCacheDependency dependency = null ;

public static SqlCacheDependency Dependency {
get { return dependency; }
set { dependency = value; }
}
public static void AddCache(String key, DataTable dt,SqlCommand command) {
dependency
= new SqlCacheDependency(command);
HttpContext.Current.Cache.Insert(key, dt, dependency);
}

應該是你這邊全局static有點問題,更改成靜態單件構造函

你更改成試試:

                      
                      
                      
                        public
                      
                      
                      
                      
                        static
                      
                      
                      
                      
                        void
                      
                      
                         AddCache(String key, DataTable dt,SqlCommand command) {       
                      
                      
                        
SqlCacheDependency
_dependency = new SqlCacheDependency(command);
HttpContext.Current.Cache.Insert(key, dt, _dependency);
}



回答于2010-01-19 15:47
這個我試過,好像也不行,
還有就是問題出在command上,在command執行以后,比如執行以下語句之后:
command.ExecuteReader();

SqlDataAdapter adapter = new SqlDataAdapter(command);
在把command賦給SqlCacheDependency時就會不起作用,
而在command執行之前賦給SqlCacheDependency就可以,
但我不太清楚這里邊的運行機制
評論于2010-01-19 16:59
1 0

看看這里
http://www.dotnetcurry.com/ShowArticle.aspx?ID=263&AspxAutoDetectCookieSupport=1

的確需要在 cmd.ExecuteNonQuery();之前執行

? SqlCacheDependency dependency = new SqlCacheDependency (cmd);

SqlCacheDependency


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 南和县| 蛟河市| 崇礼县| 铁力市| 镇巴县| 景东| 耿马| 潞西市| 姜堰市| 五河县| 襄汾县| 读书| 武穴市| 德保县| 化德县| 唐河县| 威海市| 安溪县| 遂宁市| 桂林市| 清水县| 宁都县| 临泽县| 寿阳县| 通山县| 许昌市| 蒲江县| 巴中市| 青海省| 甘孜| 安图县| 洪泽县| 龙川县| 上饶县| 开平市| 望城县| 兴安盟| 民勤县| 南昌市| 海伦市| 镇康县|