See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 25464|Vastuse: 0

[Allikas] .net/C# Hajutatud tehinguulatus

[Kopeeri link]
Postitatud 05.05.2018 10:53:17 | | | |
Tsiteerides kellegi teise juhendit:
Tegelikus arendustöös käivita sündmus ja seejärel kutsu teine liides andmete sisestamiseks, kui töötlemisloogikas on erand, muutub varem sisestatud andmed rämpsandmeteks,
Meie eesmärk on defineerida kogu meetod tehinguna ning TransactionScope klass pakub lihtsat meetodit, mis võimaldab sul tehinguga mitte suhelda.
märgistada koodiplokk tehingus osalevaks. TransactionScope objekt loob tehingu ja seab tehingu Transaction klassi Current omaduseks.

1. TransactionScope'i eelised
1. Seda on mugavam kasutada. TransactionScope suudab rakendada kaudseid tehinguid, nii et saad kirjutada andmejuurdepääsu kihi koodi ilma tehinguid arvestamata, kuid kontrollida tehinguid ärikihil.
2. Jaotatud tehinguid saab rakendada, näiteks andmebaasideülene või MSMQ.

2. TransactionScope'i puudused
1. Kulutõhusus ei ole kõrge. Näiteks kontrollid ainult teegi tehinguid "Scope'is". "TransactionScope" kasutamine on veidi raiskav.
2. Tavatingimustes, kui kasutad "TransactionScope'i", pead seadistama MSDTC, paigaldama tulemüüri ja avama port 139. Seda porti ei saa muuta

3. Kui pead kasutama hajutatud tehinguid, pead selle üle mõtlema
1. Kas see operatsioon peab olema tehingus? Kui see samm jääb lõpetamata või ebaõnnestub, kas tasub kogu tehing tagasi pöörata? Kas puuduvad elegantsed kompensatsiooni- või rikketaluvuse mõõdikud?
2. Kui palju punkte hõlmavad hajutatud tehingud? Peab olema suur reaalajas operatsioonide jada? Kas mõnda punkti ei saa teavitustoimingutega sujuvamaks muuta?
3. Pärast hajutatud tehingu algatamist, kas tegite tehingust sõltumatuid operatsioone, kuigi need operatsioonid ei olnud tehingutega seotud? (nt andmete lugemine, arvutamine, kasutaja sõnumi ootamine, teiste moodulite kõne tagasituleku ootamine jne.)
4. Sa ei arvestanud tehingus mõningaid lugemistoiminguid, eks? See on lihtne viga, kui lisad tehingusse valitud operatsiooni.
5. Mõningaid teie operatsiooni samme saab täita pärast kõigi toimingute lõpetamist. Sellisel operatsioonil on ilmsed teavituse omadused. Teavitustoimingud ütlevad: ma annan sulle teate ja garanteerin, et teade jõuab sinuni;
Te peate selle teate vastu võtma ja veenduma, et see töödeldakse, kuid te ei pea sellega tegelema kohe, kui ma teid teavitan. Seda operatsiooni saab ilmselgelt teha mõne teise ülesandega.

4. Pööra tähelepanu järgmistele punktidele hajutatud tehingute kasutamisel
1: Veendu, et tehingus osalev masin on lubanud hajutatud tehingute toe.
2: Kui masinal on tulemüür sisse lülitatud, pead määrama msdtc protsessi erandiks.
3: Tehingus osalev masin ei saa domeeni ületada (kui see on domeenideülene, siis Microsoftil praegu täpset lahendust ei ole);
4: Kasuta hajutatud tehinguid ainult siis, kui andmebaasid on mitmed, kui tegemist on sama andmebaasiga, on kõige parem kasutada SqlTransactioni.
1. Lisa esmalt System.Transactions viide (pead lisama Net assembly)

C# kutse kood on järgmine:

Blogide aadress, mis selgitab seda hajutatud tehinguklassi, on väga selge:http://www.cnblogs.com/artech/archive/2010/01/31/1660356.html

2. Sea veebiserveri ja SQL-serveri keskkonna konfiguratsioon

Juhtpaneel - > Süsteemid ja turvalisus - > Haldustööriistad - > Komponenditeenused
(See on vajalik nii WEB kui SQL serverite puhul)





Juhtpaneel - > Süsteemid ja turvalisus - > haldustööriistad - > teenused
(See on vajalik nii WEB kui SQL serverite puhul)




Juhtpaneel – > Süsteem ja turvalisus – > Windowsi tulemüür
(See on vajalik nii WEB kui SQL serverite puhul)




3. MSSQL konfiguratsioon

Serveriühenduste jaoks paremklõps - > omadused




4. Seadista hostid (seadista ainult WEB server, kui mitte, siis seadista see ka SQL serveris)

C:\Windows\System32\drivers\etc
hosts-faili, mis avatakse Notepadiga
(SQL serveri info tuleb seadistada WEB-serveri Hosts-failis)
(Kui test ebaõnnestub, seadista veebiserveri info SQL serveri Hosts failis)






Eelmine:Välislingid Discuz X foorumi postitustele lisavad nofollow atribuudi
Järgmine:Funktsioonid, mis hoiavad C# kümnendkomaa järel kaks kümnendkohta ja kuidas neid kasutada
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com