انجام پایان نامه

درخواست همکاری انجام پایان نامه  بانک مقالات رایگان انجام پایان نامه

سفارش پایان نامه

|

انجام پایان نامه ارشد

 پایان نامه 

پایان نامه‏ کامپیوتر

انجام پایان نامه‏ ارشد کامپیوتر

فعال نمودن و غير فعا ل نمودن يک  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  '
cnNorthwind.ConnectionString = "Data Source="(Local); " & _
"Initial Catalog = Northwind;" & _
"Integrated Security=SSPI;"
فعال نمودن Connection '
cnNorthwind.open()
انجام عمليات دلخواه  و مرتبط با بانک اطلاعاتی   '
 بستن Connection  که باعث آزاد سازی آن از Connection Pool  '
بر روی سرويس دهنده می گردد .'
cnNorthwind.Close()
Dispose نمودن ارتباط که باعث حذف connection از connection pool بر روی ' سرويس دهنده می گردد ، ذخيره سازی  منابع سرويس دهنده  '
cnNortwind.Dispose()
 آزاد سازی حافظه اشغال شده توسط شی SqlConnection '
cnNorthwind = 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 را نشان می دهد :
 شرح     خصلت
خصلت فوق ، وضعيت جديد Connection را مشخص می نمايد. زمانيکه رويداد محقق گردد، شی Connection  همواره در يک وضعيت جديد خواهد بود  .      CurrentSatate
وضعيت اوليه Connection را برمی گرداند .    OriginalSate
نمونه ای از يک Event Handler مربوط به StateChange  
مثال زير  نحوه ايجاد  StateChangeEventHandler را  با VB.NET ، نشان می دهد :
نحوه استفاده ازيک Event Handler  با استفاده از VB.NET
Private Sub cnNorthwind_State ( ByVal Sender As Object , ByVal e As                  System.Data.StateChangeEventArgs) Handles cnNorthwind.StateChange
نمايش وضعيت اوليه و جاری State  در يک messagebox  '
 زمانی که وضعيت Connection تغيير می نمايد '
MessageBox.Show("CurrentState:   "& e.Currentstate.ToString() & vbCrLF & _       "OriginalState :   " & e.OriginalState.ToString() , _
"cn.Northwind.StateChange" , _  
  MessageBoxButtons.OK,_
  MessageBoxIcon.Information)
End Sub





دفاع در مقابل کرم ها و ويروس ها
کرم ها و ويروس ها نوع خاصی از برنامه های کامپيوتری موسوم به " کد مخرب " می باشند. علت ظهور کرم ها و ويروس ها ، وجود ضعف در برنامه ها ی کامپيوتری است  . آنان نسخه هائی از خود را تکرار و يا به ساير برنامه ها متصل، بسرعت گسترش و بسادگی از سيستمی به سيستم ديگر توزيع می شوند.درابتدا لازم است که تعريف مناسبی برای هر يک از آنان ارائه گردد . کرم ها ، نوع خاصی ازبرنامه های کامپيوتری می باشند که پس از آغاز فعاليت خود ، بدون مداخله انسانی منتشر و توزيع خواهند شد. ويروس ها ، نوع ديگری از برنامه های کامپيوتری می باشند که بمنظور انتشار و توزيع خود نيازمند انجام عمليات خاصی توسط کاربر نظير فعال شدن فايل همراه  يک نامه الکترونيکی می باشند.کاربران در اغلب موارد و در مشاهده با فايل های ضميمه همراه نامه های الکترونيکی ، اغوا و بدون لحاظ نمودن مسائل امنيتی آنان را باز و به  عاملی برای گسترش يک ويروس تبديل می شوند. کاربران بدليل کنجکاوی مربوط به موضوع يک نامه و يا ظاهر شدن نامه بگونه ای که برای مخاطب خود آشنا است ، اقدام به باز نمودن ضمائم يک نامه الکترونيکی می نمايند. کرم ها و ويروس می توانند اقدامات پيشگيرانه امنيتی نظير فايروال ها و سيستم های حفاظتی را ناديده  و اهداف خود را دنبال نمايند.
کرم ها و  ويروس ها  در مقايسه با گذشته با سرعت بمراتب بيشتری اقدام به خرابی سيستم های آسيب پذير نموده و در اين راستا نسخه هائی از خود را برای  اکثر سيستم های فوق ، توزيع و منتشر می نمايند. کامپيوترهای موجود در منازل ، نمونه مناسبی از سيستم های آسيب پذير بوده که شرايط و استعداد مناسبی را در اين رابطه دارند. کرم Code Red در سال 2001 بسرعت در سطح جهان منتشر گرديد . سرعت انتشار کرم فوق، بمراتب بيشتر از کرم Morris  در سال 1988 و ويروس مليزا در سال 1999 بود. بديهی است، افزايش سرعت انتشار اين نوع از کدهای مخرب ، سرعت در بروز خرابی و آسيب را بدنبال خواهد داشت . مثلا" فاصله زمانی بين شناسائی اولين نسخه کرم  Code Red  و خرابی گسترده آن ، صرفا" چندين روز بيشتر نبوده است و دراين فاصله زمانی محدود، Code Red بسرعت اشاعه و گسترش پيدا کرده بود. پس از گذشت يک ماه از ظهور کرم Code Red ، کرم ديگری با نام "نيمدا" توانست در اولين ساعت فعاليت خود ، خرابی بسيار گسترده ای را ايجاد نمايد . در ژانويه همان سال ، " اسلامر" توانست صرفا" در مدت  چندين دقيقه خرابی گسترده ای را بوجود آورد .شکل زير،سرعت انتشار و ميزان آسيب رسانی  " اسلامر" ، بلستر و Code red در اولين روز فعال شدن را نشان می دهد .






انجام پایان نامه

انجام پایان نامه کامپیوتر، انجام پایان نامه ارشد کامپیوتر، انجام پایان نامه، پایان نامه

برای دیدن ادامه مطلب از لینک زیر استفاده نمایید

 

 دانلود مقاله | انجام پایان نامه

سفارش پایان نامه

نقشه