Re: DataSet的觀念上的問題.....離線存取?

看板C_Sharp (C#)作者 (tomex_ou)時間20年前 (2005/12/20 11:13), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《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
文章代碼(AID): #13ftRayR (C_Sharp)
文章代碼(AID): #13ftRayR (C_Sharp)