自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

增加ADO.NET優(yōu)化使用沖突

開發(fā) 后端
由于ADO.NET優(yōu)化的項目太多,此處無法上傳,所以大家有communitysever的可以從里面獲得然后反編譯為自己所用,沒有的就到網(wǎng)絡(luò)上搜下吧,有許多資源呢!

雖然有許多人對ADO.NET優(yōu)化表示懷疑,但在年復(fù)一年的不斷發(fā)展中,他的安全性也在不斷提高。保障ADO.NET優(yōu)化的安全性是完全有可能的,但前提是要深入理解到底什么是ADO.NET優(yōu)化,及他是怎么運作的 

避免自動增加(Auto-Increment)值沖突 

和許多數(shù)據(jù)源一樣,DataSet允許你在添加新行時識別自動增加值的列。ADO.NET優(yōu)化在DataSet中使用自動增加列時,由于數(shù)據(jù)源也有自動增加列,需要避免添加到DataSet中的本地行號與添加到數(shù)據(jù)源中的行之間的沖突。 

例如,假設(shè)一個表的自動增加主鍵列是CustomerID。兩個新客戶信息添加到該表,獲得的自動增加CustomerID值分別是1和2。ADO.NET優(yōu)化接著只有第二個客戶行給數(shù)據(jù)適配器傳遞的Update方法,在數(shù)據(jù)源中新添加的行接受的自動增加CustomerID值是1,與數(shù)據(jù)集中的2不匹配。當數(shù)據(jù)適配器用返回值填充表中的第二行時,ADO.NET優(yōu)化由于第一個顧客行的CustomerID是1,便出現(xiàn)了錯誤。 

為了避免這種情況,我們推薦當使用數(shù)據(jù)源和數(shù)據(jù)集中有自動增加列時,數(shù)據(jù)集中的該列的AutoIncrementStep設(shè)為-1,AutoIncrementSeed設(shè)為0,同時確保數(shù)據(jù)源中生成的自動增加標識值從1開始,步長為正。結(jié)果是數(shù)據(jù)集生成負的自動增加值,不會與數(shù)據(jù)源產(chǎn)生的正自動增加值沖突。ADO.NET優(yōu)化另一種選擇是使用Guid類型的列帶有自動增加列,該算法產(chǎn)生的Guid值在數(shù)據(jù)集和數(shù)據(jù)源中永遠不同。 

如果你的自動增加列永遠簡單的作為唯一值,ADO.NET優(yōu)化沒有其它的意義,考慮使用Guid代替自動增加列。它們是唯一的,避免了做另外的工作處理自動增加列。 

查找優(yōu)化的并發(fā)性故障 

因為DataSet被設(shè)計為從數(shù)據(jù)源斷開,所有必須確保當多個客戶端更新數(shù)據(jù)源的數(shù)據(jù)時應(yīng)用程序避免沖突。  測試優(yōu)化并發(fā)性錯誤有多種技術(shù)。一種是在表的列中包含時間戳。另一種技術(shù)是通過使用SQL語句中的WHERE條件檢測來驗證行中所有的源列值與數(shù)據(jù)庫中的匹配。#t# 

多線程編程 

ADO.NET優(yōu)化是為了提高性能、吞吐量和可伸縮性。結(jié)果是ADO.NET不鎖定資源并且只能在單個線程中使用,其中一個例外是DataSet,它對多個閱讀程序來說是線程安全安的。但是在寫的時候必須鎖定DataSet。  只在必要的時候使用COM交互操作(Interop)訪問ADO 

ADO.NET被設(shè)計成大量應(yīng)用程序的最佳解決方案。但是,有些應(yīng)用程序需要只能使用ADO對象。在這些情況下,應(yīng)用程序能使用COM交互操作訪問ADO。注意使用COM交互操作訪問ADO的數(shù)據(jù)將極大的降低性能。設(shè)計應(yīng)用程序時,在實現(xiàn)使用COM交互操作訪問ADO這種設(shè)計前首選決定ADO.NET是否符合設(shè)計需要。 

責任編輯:chenqingxiang 來源: 機械工業(yè)出版社
相關(guān)推薦

2009-12-30 15:17:06

ADO.NET選項

2009-12-28 15:11:36

ADO.NET專家

2009-11-12 13:26:56

使用ADO.NET參數(shù)

2009-11-11 14:04:14

ADO.NET連接池

2009-12-21 14:14:08

ADO.NET類文件

2009-12-22 16:35:11

ADO.NET控件

2009-12-22 15:20:25

ADO.NET功能

2009-11-04 09:18:12

ADO.NET _Re

2009-11-04 10:07:52

ADO.NET DbP

2009-10-29 10:34:31

ADO.NET使用技巧

2009-11-12 10:15:37

ADO.NET使用

2009-08-21 16:35:08

使用C#結(jié)合ADO.N

2009-12-29 10:36:24

ADO.NET 工具

2009-12-21 16:53:06

ADO.NET使用說明

2009-12-31 13:50:46

ADO.NET模型

2009-11-13 14:22:11

ADO.NET Dat

2009-11-13 14:38:45

ADO.NET Dat

2009-11-13 10:10:07

2009-12-25 10:25:59

2009-11-12 10:06:01

ADO.NET讀取數(shù)據(jù)
點贊
收藏

51CTO技術(shù)棧公眾號