فعال نمودن و غیر فعا ل نمودن یک 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 زمانیکه یک Connection غیرفعال می گردد ، جریان اطلاعات به و یا از منبع داده غیر فعال می گردد.
مثال : استفاده از متد Dispose در مثال زیر، یک شی SqlConnection ایجاد و در ادامه با استفاده از متد Open فعال و سپس بمنظور غیرفعال نمودن Connection و آزاد سازی منابع استفاده شده توسط Connection از متد Dispose استفاده و در نهایت شی مورد نظر به Nothing مقداردهی شده است .
برخورد با رویدادهای Connection رویداد StateChange زمانی که وضعیت Connection تغییر نماید ، محقق می گردد( وضعیت Connection از فعال به غیر فعال و یا از غیر فعال به فعال تبدیل گردد) .بمنظور برخورد مناسب با هر یک از رویدادها ، از یک Event handler استفاده می گردد.
هر رویداد دارای Event handler مختص خود می باشد.
Event handler مربوط به رویداد StateChange ، متدی است که دارای آرگومانی از نوع StateChangeEventArgs می باشد .
آرگومان فوق، شامل داده مرتبط با رویداد است .
رویداد StateChange نوع NET data provider .
، که از آن استفاده می گردد ، آرگومان های خاص مربوط به رویداد StateChange را مشخص می نماید : رویداد SqlConnection.StateChange برای یک شی SqlConnection رویداد OleDbConnection.StateChange برای یک شی OleDbConnection لازم است بدین نکته اشاره گردد که تمامی رویدادها در دات نت دارای دو پارامتر زیر می باشند : ارسال کننده ( از نوع شی ) e از نوع XxxEventArgs برای رویداد StateChange ، پارامتر e از نوع StateChangeEventArgs می باشد.event handler مربوط به دو رویداد فوق ، نوع مشابهی از آرگومان ها را دریافت می نماید : StateChangeEventArgs که شامل داده مرتبط با این رویداد است .
جدول زیر خصلت های مربوط به کلاس StateChangeEventArgs را نشان می دهد : نمونه ای از یک Event Handler مربوط به StateChange مثال زیر نحوه ایجاد StateChangeEventHandler را با VB.NET ، نشان می دهد : دفاع در مقابل کرم ها و ویروس ها کرم ها و ویروس ها نوع خاصی از برنامه های کامپیوتری موسوم به " کد مخرب " می باشند.
علت ظهور کرم ها و ویروس ها ، وجود ضعف در برنامه ها ی کامپیوتری است .
آنان نسخه هائی از خود را تکرار و یا به سایر برنامه ها متصل، بسرعت گسترش و بسادگی از سیستمی به سیستم دیگر توزیع می شوند.درابتدا لازم است که تعریف مناسبی برای هر یک از آنان ارائه گردد .
کرم ها ، نوع خاصی ازبرنامه های کامپیوتری می باشند که پس از آغاز فعالیت خود ، بدون مداخله انسانی منتشر و توزیع خواهند شد.
ویروس ها ، نوع دیگری از برنامه های کامپیوتری می باشند که بمنظور انتشار و توزیع خود نیازمند انجام عملیات خاصی توسط کاربر نظیر فعال شدن فایل همراه یک نامه الکترونیکی می باشند.کاربران در اغلب موارد و در مشاهده با فایل های ضمیمه همراه نامه های الکترونیکی ، اغوا و بدون لحاظ نمودن مسائل امنیتی آنان را باز و به عاملی برای گسترش یک ویروس تبدیل می شوند.
کاربران بدلیل کنجکاوی مربوط به موضوع یک نامه و یا ظاهر شدن نامه بگونه ای که برای مخاطب خود آشنا است ، اقدام به باز نمودن ضمائم یک نامه الکترونیکی می نمایند.
کرم ها و ویروس می توانند اقدامات پیشگیرانه امنیتی نظیر فایروال ها و سیستم های حفاظتی را نادیده و اهداف خود را دنبال نمایند.
کرم ها و ویروس ها در مقایسه با گذشته با سرعت بمراتب بیشتری اقدام به خرابی سیستم های آسیب پذیر نموده و در این راستا نسخه هائی از خود را برای اکثر سیستم های فوق ، توزیع و منتشر می نمایند.
کامپیوترهای موجود در منازل ، نمونه مناسبی از سیستم های آسیب پذیر بوده که شرایط و استعداد مناسبی را در این رابطه دارند.
کرم Code Red در سال 2001 بسرعت در سطح جهان منتشر گردید .
سرعت انتشار کرم فوق، بمراتب بیشتر از کرم Morris در سال 1988 و ویروس ملیزا در سال 1999 بود.
بدیهی است، افزایش سرعت انتشار این نوع از کدهای مخرب ، سرعت در بروز خرابی و آسیب را بدنبال خواهد داشت .
مثلا" فاصله زمانی بین شناسائی اولین نسخه کرم Code Red و خرابی گسترده آن ، صرفا" چندین روز بیشتر نبوده است و دراین فاصله زمانی محدود، Code Red بسرعت اشاعه و گسترش پیدا کرده بود.
پس از گذشت یک ماه از ظهور کرم Code Red ، کرم دیگری با نام "نیمدا" توانست در اولین ساعت فعالیت خود ، خرابی بسیار گسترده ای را ایجاد نماید .
در ژانویه همان سال ، " اسلامر" توانست صرفا" در مدت چندین دقیقه خرابی گسترده ای را بوجود آورد .شکل زیر،سرعت انتشار و میزان آسیب رسانی " اسلامر" ، بلستر و Code red در اولین روز فعال شدن را نشان می دهد .
همانگونه که مشاهده می شود ، اسلامر توانسته است با سرعت بیشتری در اولین ساعات فعال شدن خود ، تعداد زیادی از سیستم ها را آلوده نماید.
سرعت انتشار بلستر از اسلامر کندتر ولی از Code Red سریعتر بوده است .
پس از گذشت بیست و چهار ساعت، بلستر به 336،000 ، .Code Red به 265،000 و اسلامر به 55،000 دستگاه کامپیوتر آسیب رسانده بودند.
دقت داشته باشید که بلستر در هیجده ساعت اولیه فعالیت خود تواسنه است بیش از 336،000 کامپیوتر را آلوده نماید.
بلستر نسبت به اسلامر توانسته است علیرغم کند بودن انتشار در ساعات اولیه ، تعداد بمراتب بیشتری از سیستم ها را آلوده نماید .
بنابراین ، ما از یکطرف سرعت در انتشار و از طرف دیگر افزایش بالای تعداد سیستم های آسیب پذیر را می توانیم مشاهده نمائیم .
منبع : CERT.org شکل زیر، عملکرد کرم بلستر و Code Red در هیجده ساعت اولیه فعالیت آنان را نشان می دهد.
در هر دو حالت در ساعات بین سه تا پنج اولیه فعالیت ، نزدیک به 100،000 کامپیوتر آلوده شده بود.
سرعت انتشار و آسیب به اندازه ای سریع بوده است که اغلب مدیران سیستم و کاربران زمان لازم بمنظور ایمن سازی سیستم ها پس از اعلام ضعف امنیتی را نداشته اند .
منبع : CERT.org عملکرد کرم ها و ویروس ها در بهترین حالت ، کرم ها و ویروس ها بمنزله مزاحمینی می باشند که بمنظور برخورد با آنان می بایست هزینه های زیادی صرف گردد .
در بدترین حالت ، آنان بمنزله دشمنان خانمان سوزی بوده که قادرند سرمایه های اطلاعاتی را نابود و ویران نمایند.
بر اساس گزارشات منتشر شده ، صرفا" در دوازده ماه گذشته ، حملات کرم ها و ویروس ها میلیون ها دلار خسارت را متوجه سازمان ها و موسسات نموده است .
براساس نظر سنجی انجام شده توسط CSI/FBI در سال 2003 ، بیش از هشتاد و دو درصد از پاسخ دهندگان با نوع خاصی از حملات توسط ویروس ها و کرم ها برخورد داشته که هزینه ای معادل 27،382،340 دلار صرف برطرف نمودن مشکلات مربوطه شده است .
کمترین هزینه گزارش شده 40،000 دلار و بیشترین هزینه گزارش شده بالغ بر 6،000،000 دلار بوده است .
در یک نظر سنجی دیگر و در استرالیا نیز نتایجی مشابه بدست آمده است .
در این نظر سنجی بیش از هشتاد درصد از پاسخ دهندگان با نوع خاصی از حملات توسط کرم ها و یا ویروس ها مواجه بوده اند .
در بررسی انجام شده توسط موسسه تحقیقاتی استرالیا ، 33 % درصد از پاسخ دهندگان اعلام نموده اند که مشکل آنان در کمتراز یک روز ، 30 % اعلام نموده اند که مشکل آنان بین یک تا هفت روز و 37 % دیگر اعلام نموده اند که بیش از یک هفته صرف برطرف نمودن مشکل آنان شده است .
( برخی از سازمان ها و موسسات نیز اعلام نموده اند که مشکل آنان هرگز برطرف نشده است ) .
میزان صدمات وخرابی گزارش شده در ارتباط با کرم بلستر، بالغ بر 525 میلیون دلار و در ارتباط با سوبیگ ( نوع F ) ، بین 500 میلیون تا یک میلیارد دلار برآورد شده است.هزینه فوق ، شامل ازدست دادن بهره وری ، ساعات تلف شده ، عدم فروش کالا و یا خدمات و هزینه های اضافی مربوط به پهنای باند است .
بر اساس اظهارات ارائه شده در نشریه اکونومیست 23 اگوست 2003 ، سوبیگ (نوع F )، مسئول یکی از شانزده نامه الکترونیکی ارسال شده بر روی اینترنت بوده است .
برخی سازمان های بزرگ ، صرفا" طی یک روز بیش از 10،000 نامه الکترونیکی آلوده را دریافت نموده اند ( در هر 6.
8 ثانیه ، یک پیام ) .
سوبیگ ، قادر به ارسال چندین نامه الکترونیکی در یک زمان بود و بدین ترتیب ضریب نفوذ و اشاعه آن بشدت بالا بود .
( هزاران پیام در یک دقیقه ) .
با توجه به اینکه، سوبیگ چندین مرتبه تغییر و نسخه های جدیدتری از آن ارائه می شد، برخورد و غیر فعال نمودن آن با مشکل مواجه می گردید .
( حرف F نشاندهنده نسخه شماره شش سوبیگ است ) .
وضعیت آینده نتایج و تجارب کسب شده ، صرفا" محدود به