Re: DataSet的觀念上的問題.....離線存取?
※ 引述《youcankillme (這裡是誰?你是哪裡?)》之銘言:
: DataSet 主要推的特色就是「離線存取」的特色
: 使資料庫的資源不會被一個使用者佔住
: 如果要使用同一份 DataSet的話
: 就必須重新 Fill一次 DS
: 感覺沒有「離線存取」的味道了
對web頁面而言,每次的讀取連線都是獨立的
因此上次所讀取的資料都會逸失。
這是web的特性,否則若強記資料(透過session或control viewstate)
就會耗損server的記憶體使用。
: 或者是
: 它所謂的離線存取
: 是指Database 和 WebServer 之間的存取關係
: 也就是說 WebServer先將資料讀到自已的記憶體中
: 便把和 DB的連結切斷
: 在自已的記憶體中進行編輯
: 它標榜的「離線存取」是指這個意思嗎?
是的,就是這樣。
: 我一直認為書上寫的「讀到自已的記憶體」
: 是指client端的記憶體
不是client端的記憶體(mm)
記住,asp.net是server-side的語言,只有javascript才用到client的記憶體
當你填充dataset,是server端先接收你的請求,它(server)自己到db讀取資料
放在自己的mm中,作運算,接著把結果response為html給client。
所以,為了節省空間,server端不可能為client記住這資料的。
: 到底那一個解釋才是對的呢?
: 還是我的原始碼本身寫法有問題
: 才使DataSet沒辦法重復使用
: 希望有人能理解我的confusion
要重複使用資料,請用session或透過control的viewstate(小量資料)
但一樣不建議,因為少了即時性
強烈建議重新再撈一次資料,別擔心效能
sqlsrv會把上次相同的查詢結果直接從mm撈給你,並不會再重作一次
因此效能還是很高的。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.78.132.15
推
12/20 17:06, , 1F
12/20 17:06, 1F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 3 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章