Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 19962|Atbildi: 0

[Avots] Kā pareizi lietot SqlConnection, vai SqlConnection vītne ir droša?

[Kopēt saiti]
Publicēts 19.11.2016 08:46:14 | | |
Saite uz rakstu ir šāda:

http://www.cnblogs.com/LoveJenny/archive/2011/10/31/2229738.html

1: Vai SqlConnection ir drošs ar vītnēm?

Var būt zināms, ka savienojuma izmantošana, lai izpildītu SQL priekšrakstu daudzpavedienu vidē, irNav drošiMērķa.

SqlConnection nav drošs ar pavedieniem, tāpēc multithreading noteikti būs problēma.
Faktiski .net automātiski nodrošina savienojuma pūla pārvaldību, ja vien savienojuma virkne ir vienāda (jābūt tieši tādai pašai), tā būs tajā pašā baseinā, atvērt un aizvērt faktiski ņem savienojumu no baseina un ievieto savienojumu atpakaļ baseinā, kas neradīs veiktspējas problēmas. Tāpēc pēc katra savienojuma atvēršanas tas jāaizver pēc iespējas ātrāk pēc lietošanas, lai savienojumu varētu atgriezt baseinā, lai izmantotu citas programmas.



2: Kāpēc cilvēki joprojām izmanto iepriekš minēto rakstīšanas metodi, lai izveidotu savienojumus?

Es domāju, ka viņi varētu domāt, ka vairāku savienojumu izveide ir laikietilpīga un ka vairāki savienojumi aizņem atmiņu, ietekmē veiktspēju utt.


3: Vai katrs jauns SqlConnection aizņem atmiņu un resursus, ietekmējot veiktspēju?

Tā ir akla domāšana, akla uztraukšanās.

Jo"Vairāku savienojumu izveide" ne vienmēr rada vairākus jaunus datu bāzes savienojumusDatu bāzes savienojums ir vērtīgs resurss, ciktāl tas attiecas uz MS SQL Server, šis vērtīgais resurss tiks optimizēts iekšēji, un savienojums tiks izmantots atkārtoti.

Savienojuma pūlu nodrošina .net, savienojuma virknē ir Pooling rekvizīts, noklusējums ir patiess, tas ir, savienojuma pūls ir ieslēgts pēc noklusējuma, tam nav nekāda sakara ar sql serveri, ja savienojuma virknē rakstāt Pooling=false, tad savienojuma pūla nav, tas ir pilnīgi . .NET optimizācija.



Viena datu bāzes savienojuma izmantošanas seku izpēte vairākos pavedienos
Raksta saite: http://www.th7.cn/Program/java/201503/415005.shtml

Kopsavilkums: Vairāku pavedienu vidē viena savienojuma izmantošana var radīt darījumu neskaidrības bez savienojuma drošas apstrādes.... Ietekmē JDBC transakciju izmantošanu...




Iepriekšējo:javascrip{filter}t:atšķirība starp history.go() un History.back().
Nākamo:C# Savienojuma izveide ar SQL datu bāzēm Kopējās savienojuma virknes
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com