واضی فایل

دانلود کتاب، جزوه، تحقیق | مرجع دانشجویی

واضی فایل

دانلود کتاب، جزوه، تحقیق | مرجع دانشجویی

تحقیق در مورد فعال نمودن و غیر فعا ل نمودن یک Connection

فرمت : WORD                                            تعداد صفحه :47

 

فعال نمودن و غیر فعا ل نمودن یک  Connection
بمنظور فعال نمودن و یا غیر فعال نمودن یک Connection  می توان بصورت تلویحی عملیات فوق را با فراخوانی متدهای یک شی که از Connection استفاده می نمایند انجام و یا با صراحت و بکمک متدهای Open و یا Close اقدام به فعال نمودن و یا غیر فعال نمودن Connection نمود . متدهای Open و Close  دو متد اولیه برای هر Connection می باشند .

متد Open  با استفاده از اطلاعات موجود در خصلت ConnectionString  ، با یک منبع داده ارتباط و یک ارتباط فعال شده را ایجاد خواهد کرد . متد Close باعث غیر فعال شدن Connection  می گردد .

لازم است به این نکته اشاره گردد که بستن ( غیر فعال نمودن ) یک Connection  امری لازم و ضروری است ، چراکه اکثر منابع داده صرفا" تعداد محدودی از ارتباطات فعال  را حمایـت نموده و در ضمن ارتباطات فعال  ، منابع با ارزش سیستم را اشغال و حجم عملیاتی بر روی سیستم را افزایش خواهند داد .

فعال نمودن و غیر فعال نمودن صریح یک  Connection
استفاده صریح از متدهای Open و Close  بمنظور فعال نمودن و یا غیر فعال نمودن Connection توصیه و دارای مزایای زیر است :

کد نوشته شده دارای خوانائی بمراتب بیشتری  خواهد بود . اشکال زدائی برنامه ها با سرعت مطلوبی انجام خواهد شد . موثرتر می باشد.

پس از استفاده Connection ، لازم است که ارتباط ایجاد شده غیر فعال گردد . بدین منظور، می توان از متدهای Close و یا Dispose مربوط به شی Connection استفاده نمود. متد Close ، تراکنش های بلاتکلیف را تعیین تکلیف نموده و در ادامه ارتباط را غیر فعال می نماید . در مواردیکه Pooling فعال شده باشد ، متد فوق  باعث آزادسازی ارتباط ایجاد شده از Connection pool می گردد . فراخوانی متد Close توسط  یک برنامه می تواند چندین مرتبه صورت پذیرد.

فعال نمودن و غیر فعال نمودن تلویحی یک Connection
در صورت استفاده از DataAdapters ، ضرورتی به فعال نمودن و یا غیر فعال نمودن یک Connection  وجود نخواهد داشت . زمانیکه یکی از متدهای  مربوط به اشیاء  فوق ، فراخوانده  می گردد ( مثلا" متد Update و یا Fill مربوط به شی SqlDataAdapter ) ،  متد مورد نظر بررسی لازم در خصوص  فعال بودن ارتباط را انجام و در صورتیکه ارتباط فعال نشده باشد ، SqlDataAdapter ارتباط را فعال و پس از انجام عملیات مورد نظر ، ارتباط را غیر فعال خواهد نمود .

مثال : در صورتیکه یک DataSet  داده خود را از چندین جدول متفاوت که در بانک اطلاعاتی مشابه قرار دارند ، دریافت می نماید ،صرفا" یک Connection وجود داشته و دارای چندین DataAdapters  خواهیم بود (هر DataAdapters مرتبط با یک جدول ) . در صورتیکه Connection بصورت تلویحی ( عدم استفاده صریح از متدهای Open و Close ) فعال و یا غیر فعال گردد ، در زمان  پر نمودن اطلاعات در Dataset ، ارتباط با منبع داده  چندین مرتبه فعال و یا غیر فعال خواهد شد . در چنین مواردی مناسب است که در ابتدا Connection با صراحت فعال و پس از فراخوانی متدهای Filling مربوط به چندین DataAdapters  ، ارتباط ایجاد شده با منبع داده را با بکارگیری متد Close و باصراحت غیر فعال نمود .

استفاده از متد Dispose
زمانیکه یک Connection  غیرفعال  می گردد ، جریان اطلاعات به و یا از منبع داده غیر فعال می گردد. در چنین حالتی ، منابع غیرمدیریت یافته استفاده شده توسط شی Connection ، آزاد نخواهند گردید.در صورتیکه Connection pooling فعال شده باشد ، عملیات آزاد سازی Connection از Pool نیز انجام خواهد شد. اشیاء SqlConnection و OleDbConnection دارای یک متد Dispose بوده که از آن بمنظور آزادسازی منابع غیرمدیریت یافته استفاده می گردد .  با فراخوانی متد Dispose ، عملیات حذف Connection  از Connection pool نیز انجام خواهد شد .

مثال : استفاده از متد Dispose
در مثال زیر، یک شی SqlConnection  ایجاد و در ادامه با استفاده از متد Open  فعال و سپس بمنظور غیرفعال نمودن Connection و آزاد سازی منابع  استفاده شده توسط Connection  از متد Dispose  استفاده و در نهایت شی مورد نظر به Nothing مقداردهی شده است .

نحوه استفاده از متد Dispose

تعریف و نمونه سازی یک شی جدید SqlConnection  '

Dim cnNorthwind AS New  System.Data.SqlClient.SqlConnection ()

مقدار دهی مناسب خصلت ConnectionString  '

ConnectionString = "Data Source="(Local); " & _

"Initial Catalog = Northwind;" & _

"Integrated Security=SSPI;"

فعال نمودن Connection '

open()

انجام عملیات دلخواه  و مرتبط با بانک اطلاعاتی   '
 بستن Connection  که باعث آزاد سازی آن از Connection Pool  '
بر روی سرویس دهنده می گردد .'

Close()

Dispose نمودن ارتباط که باعث حذف connection از connection pool بر روی ' سرویس دهنده می گردد ، ذخیره سازی  منابع سرویس دهنده  '

Dispose()

 آزاد سازی حافظه اشغال شده توسط شی SqlConnection '

cnNorthwind = Nothing  

برخورد با رویدادهای Connection
رویداد StateChange زمانی که وضعیت Connection تغییر نماید ، محقق می گردد( وضعیت Connection از فعال به غیر فعال و یا از غیر فعال به فعال تبدیل گردد) .بمنظور برخورد مناسب با هر یک از رویدادها ، از یک Event handler  استفاده می گردد. هر رویداد دارای Event handler  مختص خود می باشد.  Event handler مربوط به  رویداد StateChange ، متدی است که  دارای  آرگومانی از نوع StateChangeEventArgs  می باشد . آرگومان فوق،  شامل داده مرتبط با رویداد است .

 



خرید و دانلود تحقیق در مورد فعال نمودن و غیر فعا ل نمودن یک Connection


نظرات 0 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.