Posts Tagged ‘ MSSQL ’
之前set 左好耐都set 唔到, m$ d offical document 又成日張sql2000 同sql2005 一齊講, 講都唔清唔楚, 足足搞左我好多日. 最後發現原來係白痴問題一個. 以下有小小心得, 大家有興起用可以參考一下
1. 首先 web.config 並不需要任何設定 , 因為它是針對SQL2000 polling base 而設的
2. 在SSMS 執行指令
“alter database testdb set enable_broker WITH ROLLBACK IMMEDIATE”
3. 在Global.asax application_start() 加入
System.Data.SqlClient.SqlDependency.Start(“your connection string here”);
4. 以下係小弟既測試function
[cc lang='csharp' ]
// Create the ADO.NET objects.
string connectionString = Common.DB_ConnString;
string query = “SELECT [ParmKey],[ParmValue] FROM dbo.[ParmTable] where [ParmKey] = ‘test’”;
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand command = new SqlCommand(query, conn);
SqlCacheDependency dependency = new SqlCacheDependency(command);
SqlDataAdapter adapter = new SqlDataAdapter(command);
DataTable dt = new DataTable();
adapter.Fill(dt);
Cache DataCache = HttpRuntime.Cache;
DataCache.Insert(“ParmTableDT”, dt, dependency, System.Web.Caching.Cache.NoAbsoluteExpiration, System.Web.Caching.Cache.NoSlidingExpiration);
[/cc]
我一直既失敗原因為係為我個 SqlCommand 個object 入去init SqlCacheDependency 既時候未沒有被執行過 (即係adapter.fill(dt)) , (因為我之前寫落左d help class 用黎行sql statement, 所以唔係用SqlDataAdapter ), 所以就算intial 左果 SqlCacheDependency, 佢都認唔到你句sql statement, 亦都因為咁所以個cache 永遠都唔識expired….
就 係呢樣咁簡單既野搞左我幾日…真係唔抵
想知多d 可以睇呢個thread
http://forums.microsoft.com/msdn-cht/showpost.aspx?postid=3677123&siteid=14