.net事務(wù)處理并發(fā)性處理的意義(此文僅適合基礎(chǔ)者瀏覽)
發(fā)表時間:2024-06-19 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]在一個健壯的企業(yè)級應(yīng)用程序中,對事務(wù)的處理極其重要。如果您正準備開發(fā)企業(yè)級應(yīng)用程序的話,您最好多了解一些關(guān)于這方面的內(nèi)容;當(dāng)然也希望我的文章對您有所幫助,那么實際解決方案中有哪些地方需要用到事務(wù)呢? 為了數(shù)據(jù)庫中每個企業(yè)實體數(shù)據(jù)的完整型,我們通常會在設(shè)計數(shù)據(jù)庫時定義一系列主外鍵及一...
在一個健壯的企業(yè)級應(yīng)用程序中,對事務(wù)的處理極其重要。如果您正準備開發(fā)企業(yè)級應(yīng)用程序的話,您最好多了解
一些關(guān)于這方面的內(nèi)容;當(dāng)然也希望我的文章對您有所幫助,那么實際解決方案中有哪些地方需要用到事務(wù)呢?
為了數(shù)據(jù)庫中每個企業(yè)實體數(shù)據(jù)的完整型,我們通常會在設(shè)計數(shù)據(jù)庫時定義一系列主外鍵及一些規(guī)則等;其中主外鍵
的設(shè)定最重要,理論上說靠這些約束是可以保證單個數(shù)據(jù)實體的完整型了,似乎事務(wù)用不用已無關(guān)緊要了,可事實上這樣
程序是缺乏健壯性的,為此我們必須視數(shù)據(jù)庫中定義的種種約束為一種保險,而為了整個解決方案的可靠性、優(yōu)越性我們
必須再使用事務(wù)。
如果您的程序會遇到以下情況時,你最好應(yīng)考慮事務(wù):
一. (典型)在寫入一條有定單型數(shù)據(jù)時(主從關(guān)系)您最好在業(yè)務(wù)邏輯層或數(shù)據(jù)訪問層使用事務(wù)
方法1:使用OleDbTransaction
方法2:使用COM+事務(wù)(怕麻煩用方法1)
二. 在寫入一條有外鍵約束的數(shù)據(jù)時,您最好這樣處理
1. BeginTran();//加鎖
2. 判斷外鍵關(guān)聯(lián)數(shù)據(jù)是否存在
3. 根據(jù)第二步進行決定是否寫入數(shù)據(jù)
4. Commit() ; 或 RollBack();
......
在這里我不想多舉例,再就上述第2種情況說一點自己的看法:
有些人認為這種做法似乎多余,對,看上去是;但這樣做后你的程序很健壯、可讀性好并且可以大大
降低數(shù)據(jù)庫端瓶頸;(未完待續(xù))