ASP.NET 2.0資料緩衝功能簡介

來源:互聯網
上載者:User

在ASP.NET 2.0,新增加了不少新的功能和控制項。其中,在資料的緩衝功能,比asp.net 1.1有了很大的改變。眾所周知,資料的緩衝功能是十分重要的,我們可以把一些在相對一段時間內不發生改變的資料放在緩衝中,這樣,就不必要每次去讀取資料庫,當下次再需要這些資料時,可以直接從緩衝中取得,大大增強了效率。

而在asp.net 1.1 中,已經比較好地實現了資料的緩衝功能,但有一個小問題,那就是如果資料庫中的資料發生了變化,緩衝不能在指定的時間內更新,而必須等到緩衝失效。比如,在網頁中,如果你對商品的一些詳細資料,如價格等使用了頁面緩衝,那麼假如在後台修改了這些資訊,使用者不會馬上看到這些資訊,而要延遲一些時間才看到。在某些應用場合,如果你要做到對於資料庫的任何更新,都能馬上可以在緩衝的變化生效的話,在asp.net 1.1中則是比較難實現的,而在asp.net 2.0中,則可以很方便地實現該功能。本文將以.net Framework 2.0 beta,visual web developer express beta ,來介紹該功能的實現。

首先,在asp.net 2.0中,針對sql server 7/2000,以及即將發行的sql server 2005(Yukon),分別提供了新的緩衝功能。這裡著重介紹針對sql server 7/2000的緩衝功能。這個新的資料緩衝功能,叫做SqlCacheDependency,要實現該功能,需要採用如下步驟:

1、在.net framework 2.0的安裝目錄下

(預設是WINNT\Microsoft.NET\Framework\v2.0.40607),啟動一個叫aspnet_regsql.exe的命令列工具,比如:

aspnet_regsql -S localhost –U sa –P 123456 -d Pubs –ed

上面的意思是,指定了本地的資料庫伺服器localhost,並指定了登陸的使用者名稱和密碼,並用參數-d指定了要採用哪一個資料庫(這裡是指定了pubs)資料庫,-ed參數表示是允許該資料庫使用sqlcachedependency功能。

接著,我們需要指定對哪一個表使用資料sqlcachedependency功能,如:

aspnet_regsql -S localhost –U sa -P 123456 -ed -d pubs -et -t authors

上面語句的意思是,指定對pubs資料庫中的authors表使用sqlcachedependency功能,-t參數後是表的名稱,-et是允許該表使用sqlcachedependency功能。其他的有關參數簡單介紹如下:

參數 參數意義
-? 顯示該工具的協助功能.
-S 後接的參數為資料庫伺服器的名稱或者IP地址
-U 後接的參數為資料庫的登陸使用者名稱.
-P 後接的參數為資料庫的登陸密碼
-E 當使用windows整合驗證時,使用該功能
-t 後接參數為對哪一個表採用sqlcachedependency功能。
-d 後接參數為對哪一個資料庫採用sqlcachedependency功能
-ed 允許對資料庫使用sqlcachedependency功能
-dd 禁止對資料庫採用sqlcachedependency功能
-et 允許對資料表採用sqlcachedependency功能
-dt 禁止對資料表採用sqlcachedependency功能
-lt 列出當前資料庫中有哪些表已經採用sqlcachedependency功能

Sqlcachedependency的的原理簡單來說,是採用aspnet_regsql這個專門工具,預先設定要監視的資料庫和表,並在資料庫中增加一個專門的表,開啟資料庫,會發現多了一個資料表aspnet_sqlcachetablesforchangenotification,如下圖:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.