深入ADO.NET開發(fā)—高級數(shù)據(jù)訪問技術.ppt_第1頁
深入ADO.NET開發(fā)—高級數(shù)據(jù)訪問技術.ppt_第2頁
深入ADO.NET開發(fā)—高級數(shù)據(jù)訪問技術.ppt_第3頁
深入ADO.NET開發(fā)—高級數(shù)據(jù)訪問技術.ppt_第4頁
深入ADO.NET開發(fā)—高級數(shù)據(jù)訪問技術.ppt_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、深度ADO。NET開發(fā)高級數(shù)據(jù)訪問技術、微軟邀請開發(fā)專家、基礎知識、Microsoft ADO。了解NET開發(fā)web服務基礎。NET檔案集操作級別400、問題、并發(fā)連接池事務可提取數(shù)據(jù)訪問層、并發(fā)問題、可斷開體系結構需要面對并發(fā)問題。如果兩個或更多用戶獲取并修改了相同的記錄,然后嘗試同時保留修改,則會發(fā)生沖突。骯臟的讀取,無法重新讀取,虛幻的讀取提交多個更新時,有些更新是悲觀和樂觀的(ADO .NET實施)可能無法正確完成并發(fā)鎖定。連接到DataAdapter對象的DataSet對象使用樂觀鎖定處理唱片內(nèi)容沖突。使用用戶存儲過程代替代表性操作時,并行問題處理需要幾個茄子附加任務。Data Ad

2、apter配置向導可以創(chuàng)建存儲過程以處理牙齒問題。如果ContinueUpdateOnError為false(默認值),則發(fā)生第一次沖突時,將引發(fā)DBConcurrencyException異常,以捕獲異常并通知用戶、處理異?;蛲ㄖ脩粝乱徊皆撨x擇什么,同時:在NET中樂觀鎖定處理階段,使用dataset changes=my dataset . get Trymysql data adapter . update(changes);MyDataSet。merge(changes);catch(dbconcurrencyexceptione)/自上次更新以來更改的唱片,取消finally更新.

3、高級操作模型,data setchanges=my dataset . get Try MySQL data adapter . continue on error=true;MySQL data adapter . update(changes);If(changes .HasErrors) /導入錯誤datarow collisions=changes . tables 0 . geterrors();/處理錯誤、演示1、并發(fā)問題處理、連接池、連接池、連接池可顯著提高性能和可擴展性,以避免由于創(chuàng)建連接而導致的大量消耗。通過將以下屬性添加到連接字符串,調(diào)整連接池: Pooling=true:

4、max Pool Size=5;min Pool Size=3;上述字符串將打開連接池,檢查連接池中是否至少有3個連接,如果最多有5個連接達到最大大連市連接,打開新鏈接的請求將等待可配置的時間。鏈接是通過完全匹配鏈接字符串的法則池化的。池化機制對名稱-值對之間的空格靈敏度敏感。例如,以下兩個鏈接字符串創(chuàng)建單獨的池,因為第二個字符串包含一個附加空字符:Integrated Security=SSPIdatabase=north wind integrated security=sspi;Database=Northwind,演示2,連接池,事務,ACID原則3360原子性,一致性,隔離,持久事務

5、行為或所有操作完成,所有修改均同時提交或回退(不做任何操作),并不是所有SQL語句都可以出現(xiàn)在事務中。ADO .NET事務只能應用于單個鏈接。SqlTransaction對象為SqlConnection .從BeginTransaction()方法返回。SqlTransaction類分離級別枚舉3360 read committed,read uncommitted,repeatable read,serializable,un speedroll back();隔離級別、串行able提供了最高的隔離級別,但執(zhí)行效率最低。演示3,System用于本地事務處理活動、高級事務處理和數(shù)據(jù)庫事務間運行

6、。通過EnterpriseServices向中間層web服務注冊分布式事務處理協(xié)調(diào)器(DTC)的鏈接是: system . enterprise services . transaction屬性transaction在鏈接字符串中,Enlist=false時,非常常見的設計方案是調(diào)用SQL connection . enlistdistributedtransaction方法執(zhí)行事務操作,演示4,數(shù)據(jù)庫事務之間,分層應用程序程序架構,多層應用程序將代碼劃分到徐璐的其他邏輯代碼層中,這是三層業(yè)務邏輯層和數(shù)據(jù)訪問層。合理的分層設計提供了很多好處。代碼復用、可擴展性、封裝、松散耦合、高聚合我們設計了

7、可提取數(shù)據(jù)訪問層,數(shù)據(jù)存儲、概念層應用程序程序架構、可提取數(shù)據(jù)訪問層、可提取組件是實現(xiàn)可擴展性的強大方法。設計可提取的DAL可以輕松修改??梢愿禄蚋臄?shù)據(jù)存儲,而無需重新編譯其他層次。通過接口的松散耦合度通過基于介面的工廠模式可提取的組件,從業(yè)務邏輯層完全抽象數(shù)據(jù)訪問層。概念數(shù)據(jù)訪問層(DAL)、應用程序的業(yè)務邏輯和數(shù)據(jù)存儲之間的代碼層包含應用程序中的所有數(shù)據(jù)訪問代碼。提供CRUD操作函數(shù).在NET中,這與包含ADO代碼方法的基本檔案集表示層業(yè)務邏輯層僅松散耦合關系業(yè)務邏輯層提供了多態(tài)機制,該機制消除了與數(shù)據(jù)訪問層僅松散耦合關系、基于概念的編程、基于合同的編程、基于介面的編程、基于合同的編程、實際代碼中實現(xiàn)的方法的結合。實現(xiàn)可提取組件,概念可提取組件,使用NET時,Assembly .Load()和Assembly。您可以通過CreateInstance()動態(tài)加載檔案集和類。您可以配置指向特定DAL類的新組件或增強(其他)組件,然

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論