亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

SqlCacheDependency

系統 1634 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條評論
主站蜘蛛池模板: 深夜免费在线观看 | 亚洲免费三区 | 天天色综合5 | 九色国产在视频线精品视频 | 操久久久| 乱子伦xxx欧美 | 男女拍拍视频黄的全免费 | 一区二区精品在线观看 | 国产亚洲精品在天天在线麻豆 | 一级片视频免费观看 | 成人影院www在线观看 | 欧美激情精品久久久久久久 | 99re这里只有热视频 | 视频在线国产 | 亚洲欧美日韩久久精品第一区 | 特级毛片免费视频 | 奇米第四色网站 | 午夜欧美福利视频 | 日韩精品在线视频观看 | 久久国产亚洲高清观看5388 | 在线a网站 | 免费国产一级 | 成人黄色小视频 | 亚洲第一视频在线播放 | 一区二区视频在线观看免费的 | 亚洲精品tv久久久久 | 国内精品久久久久久久久久影视 | 婷婷涩涩 | 亚洲欧美日韩伦中文 | 欧美激情精品久久久久久不卡 | 日韩视频在线观看一区二区 | 99r精品| 久久成人18免费网站 | 草草操| 美女粉逼 | 免费观看国产精品 | 欧美久久久久久 | 在线看亚洲 | 9999在线视频 | 国产一区亚洲欧美成人 | 久草免费看 |