Savienojumu baseins – mobilo aplikāciju izstrāde, web pakalpojumi, SOA arhitektūra – Tehnoloģija
Pāriet uz saturu

Savienojumu apvienošana - mobilo lietotņu izstrāde, tīmekļa pakalpojumi, SOA arhitektūra

  • autors

Sludinājumi

Kas ir savienojumu apvienošana?

Savienojumu apvienošana ļauj atkārtoti izmantot esošos savienojumus, lai samazinātu pieskaitāmās izmaksas, kas saistītas ar nepārtrauktu tādu savienojumu izveidi un atmešanu, kuriem ir tāda pati konfigurācija. Citiem vārdiem sakot, savienojumu atvēršana un aizvēršana, kas izmanto vienu un to pašu savienojuma virkni un akreditācijas datus, var atkārtoti izmantot pūlā pieejamo savienojumu. Tipiskas lietojumprogrammas izmanto vienus un tos pašus savienojuma objektus, lai nepārtraukti izgūtu un atjauninātu datus no datu bāzes. Savienojumu apvienošana nodrošina daudz augstāku veiktspējas līmeni, novēršot nepieciešamību datubāzei pastāvīgi izveidot un pārtraukt savienojumus. Savienojumu pūli ir atdalīti pēc procesa, lietojumprogrammas domēna un savienojuma virknes. Savienojuma virknēm, kurās tiek izmantota integrētā drošība, katrai unikālajai identitātei tiek izveidots atsevišķs pūls.

Savienojumu apvienošanas iespēju kontrole

Veidojot ADO.NET savienojuma objektus, savienojumu pūlēšana ir ieslēgta pēc noklusējuma. Varat kontrolēt savienojumu pūlēšanas darbību (vai atspējot savienojumu apvienošanu), iestatot konkrētus savienojuma virknes atslēgvārdus savienojumu pūlēšanai. Piemēram, lai īpaši atspējotu savienojumu apvienošanu, savienojuma virknē iestatiet Pooling=False. Tabulā 5-7 ir sniegts savienojuma virknes atslēgvārdu saraksts, ko var izmantot, lai kontrolētu, kā konkrēts savienojums mijiedarbojas ar savienojumu pūlu. Ne visi atslēgvārdi ir pieejami visiem pakalpojumu sniedzējiem. Piemēram, OLE DB nodrošinātājs izseko savienojumu apvienošanu (pazīstama arī kā resursu apvienošana vai sesijas), pamatojoties uz vērtību, kas iestatīta OLE DB pakalpojumu atslēgvārdam savienojuma virknē.

Tabulas savienojuma pūla savienojuma virknePapildus savienojuma virknes rekvizītiem, kas kontrolē savienojumu pūlēšanas uzvedību, savienojuma objektos ir pieejamas arī metodes, kas var ietekmēt arī savienojumu pūlēšanu. Pieejamās metodes parasti tiek izmantotas, kad aizverat savienojumus savā lietojumprogrammā un zināt, ka tās vairs netiks izmantotas. Tas attīra savienojumu pūlu, izmetot savienojumus, nevis atgriežot tos baseinā, kad tie ir aizvērti. Visi savienojumi, kas jau ir baseinā un ir atvērti, tiks atmesti nākamajā reizē, kad tie tiks aizvērti. Tabulā 5-8 ir norādītas metodes, kas pieejamas mijiedarbībai ar savienojumu pūliem.

Savienojumu konfigurēšana, lai izmantotu savienojumu apkopošanu

Pēc noklusējuma visiem ADO.NET pieejamajiem .NET Framework datu nodrošinātājiem ir iespējota savienojumu pūlēšana, taču pieejamās kontroles līmenis darbam ar savienojumu pūlēšanu atšķiras atkarībā no izmantotā nodrošinātāja.

Savienojumu kopēšanas konfigurēšana, izmantojot SQL servera savienojumus

Pēc noklusējuma objekts SqlConnection automātiski izmanto savienojumu apvienošanu. Katru reizi, kad izsaucat Sqlconnection.Open ar unikālu savienojuma virkni, tiek izveidots jauns pūls. Kontrolējiet savienojumu pūlēšanas uzvedību, savienojuma virknē iestatot savienojumu pūla atslēgvārdus, kā aprakstīts iepriekš 5-7. tabulā. Piemēram, apsveriet savienojumu, kurā vēlaties iestatīt minimālo baseina izmēru. Piešķirot atslēgvārdam Minimālais pūla lielums vērtību, kas ir lielāka par nulli, jūs nodrošināsiet, ka pūls netiek iznīcināts, līdz lietojumprogramma tiek pārtraukta. Lai iestatītu minimālo pūla lielumu uz 5, izmantojiet savienojuma virkni, kas ir līdzīga tālāk norādītajai.

Datu avots=SqlServerName;Sākotnējais katalogs=Datu bāzes nosaukums; Integrētā drošība = True; Minimālais baseina lielums = 5

Minimālais pūla lielums pēc noklusējuma ir 0, kas nozīmē, ka katrs savienojums ir jāizveido un jāinicializē pēc pieprasījuma, palielinot minimālo pūla lielumu savienojuma virknē, norādītais savienojumu skaits ir izveidots un gatavs lietošanai, kas var samazināt laiku nepieciešams, lai izveidotu savienojumu ar šiem sākotnējiem savienojumiem.

Savienojumu kopēšanas konfigurēšana, izmantojot Oracle Connections

Savienojumi, kas izmanto .NET Framework Data Provider for Oracle, pēc noklusējuma automātiski izmanto savienojumu apkopošanu. Varat kontrolēt, kā savienojums izmanto pūlēšanu, iestatot savienojuma virknes atslēgvārdus. Tabulā 5-10 ir sniegta informācija par savienojuma virknes atslēgvārdiem, kas ir pieejami savienojumu apvienošanas darbību mainīšanai.

Savienojuma kļūdu apstrāde

Kad SQL Server atgriež brīdinājumu vai kļūdu, .NET Framework Data Provider for SQL Server izveido un izdod SqlException, ko varat uztvert savā lietojumprogrammā, lai novērstu problēmu. Kad tiek izmests SqlException, pārbaudiet rekvizītu SqlException.Errors, lai piekļūtu kļūdu kolekcijai, kas tiek atgriezta no SQL servera. Rekvizīts SqlException.Errors ir SqlErrorCollection klase (SqlError klašu kolekcija), kurā vienmēr ir vismaz viens SqlError objekts.

VAIRĀK INFORMĀCIJAS SQL Server kļūdas

SqlConnection paliks atvērts ziņojumiem, kuru nopietnības līmenis ir 19 vai mazāks, taču parasti tā automātiski aizveras, kad smaguma pakāpe ir 20 vai lielāka.

Kopsavilkums

  • Savienojumu apvienošana ir iespējota pēc noklusējuma.
  • Savienojumu kopēšanas opcijas ir definētas savienojuma virknē, izņemot ODBC nodrošinātāju, kas izmanto ODBC datu avota administratora dialoglodziņu operētājsistēmā Windows.
  • SqlException objekts tiek izveidots, kad SQL serverī tiek atklāta kļūda.
  • Katrs SqlException izņēmuma gadījums satur vismaz vienu SqlError brīdinājumu, kas satur faktisko servera kļūdas informāciju.
  • Windows autentifikācija (saukta arī par integrēto drošību) ir ieteicamā metode drošai savienojuma izveidei ar datiem.
  • Saglabājiet savienojuma virknes, kas satur sensitīvu informāciju, lietojumprogrammas konfigurācijas failā un šifrējiet visus iestatījumus, kas satur sensitīvu informāciju.