تجمع الاتصال - تطوير تطبيقات الهاتف المحمول، خدمات الويب، هندسة SOA - التكنولوجيا
تخطى الى المحتوى

تجميع الاتصال - تطوير تطبيقات الهاتف المحمول ، خدمات الويب ، بنية SOA

الاعلانات

ما هو تجمع الاتصال؟

يسمح لك تجمع الاتصالات بإعادة استخدام الاتصالات الموجودة لتقليل العبء الناتج عن إنشاء الاتصالات التي لها نفس التكوين وإسقاطها بشكل مستمر. بمعنى آخر، يمكن لفتح وإغلاق الاتصالات التي تستخدم نفس سلسلة الاتصال وبيانات الاعتماد إعادة استخدام اتصال متوفر في التجمع. تستخدم التطبيقات النموذجية نفس كائنات الاتصال لجلب البيانات وتحديثها باستمرار من قاعدة البيانات. يوفر تجمع الاتصالات مستوى أعلى بكثير من الأداء عن طريق إلغاء الحاجة إلى قاعدة البيانات لإنشاء الاتصالات وإسقاطها بشكل مستمر. يتم فصل تجمعات الاتصال حسب العملية ومجال التطبيق وسلسلة الاتصال. بالنسبة لسلاسل الاتصال التي تستخدم الأمان المتكامل، يتم إنشاء تجمع منفصل لكل هوية فريدة.

التحكم في خيارات تجمع الاتصال

يتم تمكين تجمع الاتصالات بشكل افتراضي عند إنشاء كائنات اتصال ADO.NET. يمكنك التحكم في سلوك تجمع الاتصالات (أو تعطيل تجمع الاتصالات بالكامل) عن طريق تعيين كلمات أساسية محددة لسلسلة الاتصال لتجميع الاتصالات. على سبيل المثال، لتعطيل تجمع الاتصالات بشكل خاص، قم بتعيين Pooling=False في سلسلة الاتصال الخاصة بك. يوفر الجدول 5-7 قائمة بالكلمات الأساسية لسلسلة الاتصال التي يمكن استخدامها للتحكم في كيفية تفاعل اتصال معين مع تجمع الاتصال. ليست كل الكلمات الرئيسية متاحة لجميع مقدمي الخدمة. على سبيل المثال، يتحكم موفر OLE DB في تجمع الاتصال (المعروف أيضًا باسم تجمع الموارد أو جلسة العمل) استنادًا إلى القيمة المعينة للكلمة الأساسية لخدمات OLE DB في سلسلة الاتصال.

سلسلة اتصال تجمع اتصال الجدولبالإضافة إلى خصائص سلسلة الاتصال التي تتحكم في سلوك تجمع الاتصالات، هناك أيضًا طرق متوفرة لكائنات الاتصال التي يمكن أن تؤثر أيضًا على تجمع الاتصالات. تُستخدم الطرق المتاحة عادةً عندما تقوم بإغلاق الاتصالات في تطبيقك وأنت تعلم أنه لن يتم استخدامها مرة أخرى. يؤدي هذا إلى تنظيف تجمع الاتصال عن طريق تجاهل الاتصالات بدلاً من إعادتها إلى التجمع عندما تكون مغلقة. سيتم تجاهل أي اتصالات موجودة بالفعل في التجمع ومفتوحة في المرة التالية التي يتم فيها إغلاقها. يسرد الجدول 5-8 الطرق المتاحة للتفاعل مع تجمعات الاتصال.

تكوين الاتصالات لاستخدام تجمع الاتصالات

افتراضيًا، يتم تمكين تجمع الاتصالات لدى جميع موفري بيانات .NET Framework المتوفرين في ADO.NET، لكن مستوى التحكم المتوفر للعمل مع تجمع الاتصالات يختلف وفقًا للموفر المستخدم.

تكوين تجمع الاتصالات مع اتصالات SQL Server

بشكل افتراضي، يستخدم كائن SqlConnection تجمع الاتصالات تلقائيًا. في كل مرة تقوم فيها باستدعاء Sqlconnection.Open باستخدام سلسلة اتصال فريدة، يتم إنشاء تجمع جديد. التحكم في سلوك تجمع الاتصال عن طريق تعيين الكلمات الأساسية لتجمع الاتصال في سلسلة الاتصال كما هو موضح سابقًا في الجدول 5-7. على سبيل المثال، خذ بعين الاعتبار الاتصال الذي تريد تعيين الحد الأدنى لحجم التجمع فيه. من خلال تعيين قيمة أكبر من الصفر للكلمة الأساسية Mîn Pool Size، فإنك تضمن عدم تدمير المجمع حتى إنهاء التطبيق. لتعيين الحد الأدنى لحجم التجمع إلى 5، استخدم سلسلة اتصال مشابهة لما يلي:

مصدر البيانات = SqlServerName؛ الكتالوج الأولي = اسم قاعدة البيانات؛ الأمان المتكامل = صحيح؛ الحد الأدنى لحجم التجمع = 5

الحد الأدنى لحجم التجمع هو 0 بشكل افتراضي، مما يعني أنه يجب إنشاء كل اتصال وتهيئته حسب الطلب، ومن خلال زيادة الحد الأدنى لحجم التجمع في سلسلة الاتصال، يتم إنشاء عدد الاتصالات المشار إليه ويصبح جاهزًا للاستخدام، مما قد يقلل من الوقت المستغرق لتأسيس الاتصال على هذه الاتصالات الأولية.

تكوين تجمع الاتصالات مع اتصالات أوراكل

تستخدم الاتصالات التي تستخدم .NET Framework Data Provider لـ Oracle تلقائيًا تجمع الاتصالات بشكل افتراضي. يمكنك التحكم في كيفية استخدام الاتصال للتجميع عن طريق تعيين الكلمات الأساسية لسلسلة الاتصال. يعرض الجدول 5-10 تفاصيل الكلمات الأساسية لسلسلة الاتصال المتوفرة لتغيير أنشطة تجمع الاتصالات.

معالجة أخطاء الاتصال

عندما يقوم SQL Server بإرجاع تحذير أو خطأ، يقوم موفر بيانات .NET Framework لـ SQL Server بإنشاء وطرح SqlException الذي يمكنك التقاطه في التطبيق الخاص بك لمعالجة المشكلة. عند طرح SqlException، افحص خاصية SqlException.Errors للوصول إلى مجموعة الأخطاء التي يتم إرجاعها من خادم SQL. الخاصية SqlException.Errors هي فئة SqlErrorCollection (مجموعة من فئات SqlError) التي تحتوي دائمًا على كائن SqlError واحد على الأقل.

مزيد من المعلومات أخطاء SQL Server

سيظل SqlConnection مفتوحًا للرسائل ذات مستوى الخطورة 19 أو أقل، ولكن سيتم إغلاقه تلقائيًا عندما تكون الخطورة 20 أو أكثر.

ملخص

  • يتم تمكين تجمع الاتصالات بشكل افتراضي.
  • يتم تعريف خيارات تجمع الاتصالات في سلسلة الاتصال، باستثناء موفر ODBC، الذي يستخدم مربع الحوار مسؤول مصدر بيانات ODBC على نظام التشغيل Windows.
  • يتم إنشاء كائن SqlException عند اكتشاف خطأ في خادم SQL.
  • يحتوي كل مثيل لاستثناء SqlException على تحذير SqlError واحد على الأقل يحتوي على معلومات خطأ الخادم الفعلية.
  • تعد مصادقة Windows (وتسمى أيضًا الأمان المتكامل) هي الطريقة المقترحة للاتصال بالبيانات بشكل آمن.
  • قم بتخزين سلاسل الاتصال التي تحتوي على معلومات حساسة في ملف تكوين التطبيق، وقم بتشفير كافة التكوينات التي تحتوي على معلومات حساسة.