جمعه, ۲۸ اردیبهشت, ۱۴۰۳ / 17 May, 2024
پیاده سازی ConnectionManager برای استفاده مناسب از Pooling
● مقدمه
استفاده مناسب از Connection Pooling در برنامه یكی از مهمترین مباحث در زمینه برنامه نویسی وب می باشد. عمده مدیریت Connection Pool را سرور به عهده می گیرد و شما نباید به عنوان مثال نگران تخصیص كانكشنهای های بلا استفاده در Pooling به درخواست جدید كانكشن در برنامه باشید. اما یكسری نكات را برای كمك به این مدیریت باید در نوشتن برنامه خود رعایت كنید . برای دانستن آن نكات مطلب استفاده بهینه از Connection در دات نت را بخوانید.
اما این كافی نیست . فرض كنید كه برنامه شما دارای بلوك A و B باشد . در بلوك A درخواست بازكردن یك كانكشن وجود دارد و قبل از بستن آن كانكشن ، به بلوك B می رود و در بدنه آن هم در خواست بازكردن یك كانكشن صادر می شود در انتها بلوك B كانكشن بسته و در انتهای بلوك A هم كانكشن بسته شود . با فرض این كه تمام اصول استفاده بهینه از Connection در دات نت هم رعایت شده باشد بازهم یك جای كار ایراد دارد . آن هم درخواست دوبار باز شدن یك كانكشن كه اكنون باز است و دوبار بسته شدن همان كانكشن. حال اگر بحث Multi Threading را هم اضافه كنید ،ابعاد مشكل پیچیده تر می گردد.
اما راه حل مناسبی وجود دارد ،آن هم داشتن یك كلاس به عنوان Connection Manager آن هم به صورت Singleton . در این مقاله یك نمونه از این كلاس را با زبان Visual Basic پیاده سازی كردم كه حالت Multi Threading هم در نظر گرفته شده است.
توصیه می كنم حتما در برنامه هایتان از آن و یا نمونه ای از این الگو استفاده كنید . بهتر است كه این كلاس را به لایه DataAccess برنامه اضافه كنید.متن این كلاس در فایل ConnectionManager.zip برای دانلود موجود است.
▪ پیاده سازی كلاس ConnectionManager
نام كلاس را ConnectionManager انتخاب كنید و Constructor آنرا به حالت Private تبدیل كنید . این به خاطر پیاده سازی مدل Singleton است. متاسفانه در این مقاله مجال پرداختن به بحث Singleton Design Pattern نیست. تنها باید اشاره كنم كه در طول زمان حیات یك برنامه در زمان اجرا آن ،از كلاس Singleton تنها و تنها یك Instance باید در حافظه باشد. در نظر گرفتن این Pattern برای كلاس ما بسیار الزامی است.
Private Sub New() End Sub
نمایندگی زیمنس ایران فروش PLC S71200/300/400/1500 | درایو …
دریافت خدمات پرستاری در منزل
پیچ و مهره پارس سهند
تعمیر جک پارکینگ
خرید بلیط هواپیما
اسرائیل ایران رئیس جمهور دولت سیزدهم رئیسی توماج صالحی دولت مجلس شورای اسلامی سیدابراهیم رئیسی مجلس تعطیلی شنبه ها شورای نگهبان
سیل مشهد سیل مشهد تهران خراسان رضوی وزارت آموزش و پرورش پلیس باران آموزش و پرورش بارش باران قوه قضاییه شهرداری تهران
خودرو قیمت خودرو قیمت طلا چین بازار خودرو مالیات قیمت دلار مسکن ایران خودرو دلار تعطیلی شنبه بانک مرکزی
لیلا حاتمی زری خوشکام علی حاتمی نمایشگاه کتاب نمایشگاه کتاب تهران سینمای ایران کتاب تلویزیون سریال فردوسی سینما دفاع مقدس
ایلان ماسک
رژیم صهیونیستی غزه روسیه آمریکا فلسطین حماس جنگ غزه اوکراین ترکیه یمن لبنان حزب الله لبنان
فوتبال استقلال تراکتور پرسپولیس مس رفسنجان جام حذفی لیگ برتر سپاهان لیگ برتر انگلیس باشگاه استقلال بازی جواد نکونام
هوش مصنوعی گوگل آیفون اپل سونی جراحی سرعت اینترنت عیسی زارع پور ایرانسل
بارداری کاهش وزن پوکی استخوان چای دیابت سرماخوردگی