Citējot kāda cita ceļvedi: Faktiskajā izstrādes darbā izpildiet notikumu un pēc tam izsauciet citu saskarni, lai ievietotu datus, ja apstrādes loģikā ir izņēmums, tad iepriekš ievietotie dati kļūs par nevēlamiem datiem, Mēs vēlamies, lai varētu definēt visu metodi kā darījumu, un TransactionScope klase nodrošina vienkāršu metodi, kas ļauj jums nemijiedarboties ar pašu darījumu. , lai atzīmētu koda bloku kā piedalīšanos transakcijā. Objekts TransactionScope izveido transakciju un iestata transakciju uz transakcijas klases rekvizītu Current.
1. TransactionScope priekšrocības 1. Tas ir ērtāk lietojams. TransactionScope var ieviest netiešas transakcijas, lai jūs varētu rakstīt datu piekļuves slāņa kodu, neņemot vērā darījumus, bet kontrolēt darījumus biznesa slānī. 2. Var ieviest izplatītus darījumus, piemēram, starpdatu bāzes vai MSMQ.
2. Darījuma darbības jomas trūkumi 1. Izmaksu rādītāji nav augsti. Piemēram, jūs kontrolējat tikai bibliotēkas transakcijas sadaļā "Darbības joma". "TransactionScope" izmantošana ir mazliet izšķērdīga. 2. Normālos apstākļos, kamēr izmantojat "TransactionScope", jums ir jākonfigurē MSDTC, jāinstalē ugunsmūris un jāatver ports 139. Šo portu nevar mainīt
3. Ja jums ir jāizmanto sadalītie darījumi, jums par to ir jādomā 1. Vai šai darbībai ir jābūt darījumā? Ja šis solis nav pabeigts vai neizdodas, vai ir vērts atcelt visu darījumu? Vai nav elegantu kompensācijas vai kļūdu tolerances pasākumu? 2. Cik punktu ietver sadalītie darījumi? Jābūt lielai reāllaika operāciju virknei? Vai jūs nevarat racionalizēt dažus punktus, izmantojot paziņojumu operācijas? 3. Vai pēc sadalītā darījuma uzsākšanas jūs veicāt darījumu agnostiskas operācijas, lai gan šīs operācijas nebija saistītas ar darījumiem? (piemēram, datu lasīšana, aprēķināšana, gaidīšana, kamēr lietotājs atgriezīs ziņojumu, citu moduļu zvana atgriešanās gaidīšana utt.) 4. Jūs neskaitījāt dažas lasīšanas operācijas darījumā, vai ne? Šī ir vienkārša kļūda, kad darījumā iesaistāt atlases operāciju. 5. Dažus darbības soļus var izpildīt pēc visu operāciju pabeigšanas. Šāda veida operācijām ir acīmredzamas paziņošanas īpašības. Paziņošanas operācijas saka, es jums dodu paziņojumu, un es garantēju, ka paziņojums jūs sasniegs; Jums ir jāpieņem šis paziņojums un jānodrošina, ka tas tiek apstrādāts, bet jums tas nav jārisina, tiklīdz es jums paziņošu. Šo darbību acīmredzot var veikt ar citu uzdevumu.
4. Izmantojot izkliedētos darījumus, pievērsiet uzmanību šādiem punktiem 1: Pārliecinieties, vai darījumā iesaistītā mašīna ir iespējojusi sadalīto transakciju atbalstu. 2: Ja mašīnā ir ieslēgts ugunsmūris, msdtc process ir jāiestata kā izņēmums. 3: Darījumā iesaistītā mašīna nevar šķērsot domēnu (ja tā ir starpdomēna, Microsoft šobrīd nav precīza risinājuma); 4: Izmantojiet sadalītos darījumus tikai tad, ja jums ir vairākas datu bāzes, ja tā ir viena un tā pati datu bāze, vislabāk ir izmantot SqlTransaction. 1. Vispirms pievienojiet atsauci uz System.Transactions (jums jāpievieno tīkla montāža)
C# izsaukuma kods ir šāds:
Emuāru adrese, kas izskaidro šo izplatīto darījumu klasi, ir ļoti skaidra:http://www.cnblogs.com/artech/archive/2010/01/31/1660356.html
2. Tīmekļa servera un SQL servera vides konfigurācijas iestatīšana
Vadības panelis - > Sistēmas un drošība - > pārvaldības rīki - > komponentu pakalpojumi (Tas ir nepieciešams gan WEB, gan SQL serveriem)
Vadības panelis - > sistēmas un drošība - > pārvaldības rīki - > pakalpojumi
(Tas ir nepieciešams gan WEB, gan SQL serveriem)
Vadības panelis - > Sistēma un drošība - > Windows ugunsmūris
(Tas ir nepieciešams gan WEB, gan SQL serveriem)
3. MSSQL konfigurācija
Servera savienojumiem ar peles labo pogu noklikšķiniet - > rekvizīti
4. Konfigurējiet resursdatorus (konfigurējiet tikai WEB serveri, ja nē, konfigurējiet to arī SQL serverī)
C:\Windows\System32\drivers\etc resursdatora fails, kas tiek atvērts, izmantojot Notepad (SQL servera informācija ir jākonfigurē WEB servera failā Hosts) (Ja pārbaude neizdodas, konfigurējiet tīmekļa servera informāciju SQL servera failā Hosts)
|