آشنائی با سيستم پيكربندی برنامه های وب در ASP.NET 2.0 New Page 1



ساير




 

 

 

SAKHA RAVESH CO.

 ا مروز

 شنبه  31  تير  1396  2017  Jul.  22   Saturday ToDay
صفحه اصلی  مقالات نکته هادايره المعارف خودآموزها | تازه ها خود آزمون ها    
  نسخه قابل چاپ  

    5 4 3 2 1 

 عنوان

 نويسنده

  مشاهده

 تعداد آراء

 امتياز

 سيستم پيكربندی ASP.NET 2.0 (بخش اول)

 مديريت وب

13472

11

4.5

با توجه به جایگاه داده در عصر حاضر و  لزوم نگاه جامع به این مقوله مهم ، بر آن شدیم تا محوریت فعالیت های خود را بر  روی این موضوع متمرکز نمائیم . از این رو گروه فابک با شعار فناوری اطلاعات برای کسب وکار شکل گرفت و  خدمات خود  را از طریق  سایت www.fabak.ir  به مخاطبان محترم عرضه می نماید

 

سيستم پيكربندی  ASP.NET 2.0

سيستم پيكربندی  ASP.NET 2.0 (بخش اول)
پياده كنندگان برنامه های وب كه از  فن آوری ASP كلاسيك به منظور پياده سازی برنامه های وب در گذشته ای نه چندان دور استفاده می كردند ( و شايد هم اينك نيز استفاده می نمايند ) ، به ياد دارند كه اطلاعات پيكربندی برنامه های فوق به صورت باينری و در محلی با نام متابيس IIS ، ذخيره می گردد . پياده كنندگان برنامه های وب برای اعمال تغييرات لازم در متابيس از دو گزينه متداول استفاده می كردند : نوشتن اسكريپت های مورد نياز و يا استفاده از كنسول مديريتی برنامه IIS ( سرويس دهنده وب مايكروسافت ) .
برخلاف ASP كلاسيك ، در ASP.NET 1.x حضور متابيس ها كم رنگ گرديد و در مقابل ، استفاده از يك سيستم پيكربندی مبتنی بر xml مورد توجه قرار گرفت . عليرغم اين كه سيستم فوق دارای انعطاف بمراتب بيشتری نسبت به نسخه قبلی است ولی امكانات مديريتی مناسبی را به منظور ويرايش فايل های پيكربندی در اختيار پياده كنندگان برنامه های وب قرار نمی دهد . تنها گزينه موجود برای ويرايش يك فايل پيكربندی ، برخورد با فايل پيكربندی به عنوان يك فايل xml و بهنگام سازی آن فايل بر اساس ماهيت فايل های xml است .  مهمترين مشكل رويكرد فوق ، برخورد با تمامی بخش های فايل پيكربندی به عنوان گره های xml است .
در ASP.NET 2.0 ، امكانات و پتانسيل های متعددی به منظور مديريت پيكربندی برنامه های وب ارائه شده است با اين هدف كه بتوان با سادگی و سرعت بيشتری پيكربندی يك برنامه وب را انجام داد .خواندن و ويرايش فايل های پيكربندی در يك ماشين محلی و يا از راه دور از جمله مهمترين ويژگی های ارائه شده در ASP.NET 2.0 می باشد .
اطلاعات پيكربندی يك برنامه ASP.NET  در دو فايل مهم Xml ذخيره می گردد . از Xml برای تشريح خصلت ها و رفتار جنبه های مختلف برنامه های ASP.NET استفاده می‌شود . سيستم  پيكربندی ASP.NET از دو فايل پيكربندی استفاده می نمايد :

  • machine.config : فايل پيكربندی سرويس دهنده 

  • Web.Config : فايل پيكربندی برنامه

با توجه به ماهيت فايل های پيكربندی ( فايل هائی از نوع  xml ) ، عناصری كه مسئوليت تشريح پيكربندی را برعهده دارند نسبت به حروف بزرگ و كوچك حساس می باشند .
در مثال زير ، يك نمونه فايل  web.config  به همراه بخش مربوط به معرفی <sessionState> يك برنامه وب  نشان داده شده است .

<?xml version="1.0" encoding="UTF-8" ?>
 <configuration>
   <system.web>
       <sessionState
           mode="InProc"
           stateConnectionString="tcpip=127.0.0.1:42424"
           stateNetworkTimeout="10"
           sqlConnectionString="data source=127.0.0.1; user id=sa; password=test"
           cookieless="false"
           timeout="20"
       />
    </system.web>
</configuration>

مزايای استفاده از يك فايل xml برای پيكربندی (در مقابل يك متابيس باينری )

  • امكان خواندن اطلاعات پيكربندی وجود داشته و می توان به سادگی و با استفاده از يك ويرايشگر متن نظير NotePad آنان را ويرايش نمود  ( گرچه توصيه می گردد كه در اين رابطه از ويژوال استوديو 2005 و يا اديتوری  كه قادر به تشخيص تگ های xml می باشد ، استفاده گردد). فايل پيكربندی را می توان به سادگی از يك سرويس دهنده به سرويس دهنده ديگر منتقل نمود . ويژگی فوق در يك Web Farm بسيار مفيد و موثر می باشد .

  • پس از انجام تغييرات مورد نياز  در يك فايل پيكربندی ، ASP.NET به صورت اتوماتيك تغييرات ايجاد شده را تشخيص و آنان را در ارتباط با برنامه اعمال خواهد كرد . ASP.NET بدين منظور يك نمونه جديد از برنامه را ايجاد و كاربران را به برنامه جديد هدايت می نمايد .

  • پس از اعمال تغييرات در پيكربندی يك برنامه ASP.NET ، ضرورتی ندارد كه مديريت برنامه سرويس دهنده وب را متوقف و مجددا" فعاليت آن را آغاز نمايد . 

  • سيستم پيكربندی ASP.NET قابل توسعه است و اطلاعات مرتبط با يك برنامه را می توان به سادگی ذخيره و بازيابی نمود .

  • اطلاعات حساس ذخيره شده در سيستم پيكربندی ASP.NET 2.0 را می توان در صورت تمايل به صورت رمزشده ذخيره نمود ( اقدامی در جهت افزايش امنيت و ايمن سازی برنامه های وب خصوصا" اطلاعات حساس مرتبط با آنان ) .

فايل پيكربندی سرويس دهنده  : machine.config
هر سرويس دهنده ASP.NET دارای يك فايل پيكربندی با نام machine.config است كه در زمان نصب فريمورك بر روی سيستم ايجاد می گردد . فايل فوق در مسير C:\Windows\Microsoft.NET\Framework\v2.0xxxxx نصب و از محتويات آن به عنوان تنظيمات پيش فرض در تمامی برنامه های ASP.NET نصب شده بر روی سرويس دهنده استفاده می گردد . با توجه به نقش مهم اين فايل در عملكرد تمامی برنامه های موجود بر روی كامپيوتر ( ويندور ، وب ) لازم است كه تغيير در فايل فوق با دقت خاصی انجام شود و نسبت به نوع كار و دامنه متاثر از تغييرات شناخت كافی وجود داشته باشد .
در صورتی كه بر روی سيستم چندين نسخه از فريمورك دات نت نصب شده باشد ، هر نسخه دارای فايل پيكربندی machine.config مختص به خود است  . مثلا" در صورتی كه بر روی كامپيوتر نسخه های ASP.NET 1.1 ، ASP.NET 1.0 و ASP.NET 2.0  نصب شده باشد ، هر نسخه فريمورك دارای فايل machine.config مختص به خود است . اين بدان معنی است كه بر روی سرويس دهنده فوق سه فايل پيكربندی machine.config  وجود خواهد داشت .
علاوه بر فايل machine.config ، فريمورك دات نت دو فايل ديگر را به اسامی machine.config.default  و  machine.config.comments نيز نصب می نمايد . از فايل اول به عنوان نسخه backup فايل machine.config استفاده می گردد. در صورتی كه بخواهيم به تنظيمات اوليه برگرديم ، كافی است تنظيمات موجود در فايل machine.config.default را به فايل machine.config كپی نمود . در فايل دوم ( machine.config.Comments ) ، هر بخش از فايل پيكربندی تشريح  می گردد .
 ASP.NET runtime ، از دو فايل فوق استفاده نمی نمايد و صرفا" بدين جهت نصب شده اند تا در صورت ضرورت از آنان به منظور برگشت به حالت اوليه استفاده نمود ( default factory setting ) .

فايل پيكربندی برنامه  : web.config
برخلاف فايل machine.config ، هر برنامه ASP.NET دارای نسخه اختصاصی تنظيمات پيكربندی مختص به خود است كه در فايلی با نام web.config ذخيره می گردد . در صورتی كه برنامه وب دارای چندين Subfolder باشد ، هر subfolder دارای فايل web.config مختص به خود است  كه محتويات آن از تنظيمات موجود در فايل پيكربندی parent به ارث رسيده است و يا تنظيمات مورد نظر را خود تعريف می نمايد . 
برای بهنگام سازی سرويس دهندگان در farm ( بر اساس تنظميات جديد ) ، می توان به سادگی فايل web.config را به دايركتوری مربوط به برنامه كپی نمود . در چنين مواردی ضرورتی به دستيابی سرويس دهنده محلی و راه اندازی آن وجود نداشته و برنامه ادامه فعاليت خود را به صورت طبيعی و بر اساس تنظيمات جديد انجام خواهد داد .

 نحوه بكارگيری پيكربندی
زمانی كه ASP.NET runtime ، تنظميات پيكربندی را برای يك درخواست وب بكار می گيرد ، فايل machine.config در يك مجموعه تركيب و اطلاعات فوق در ارتباط با برنامه مورد نظر بكار گرفته می شوند . تنظيمات پيكربندی از برنامه وب parent به ارث برده می شود . فايل machine.config به عنوان parent تمامی برنامه های وب در نظر گرفته می شود .
پيكربندی هر برنامه وب منحصربفرد است گرچه اين تنظيمات از parent به ارث رسيده باشند . مثلا" در صورتی كه فايل web.config موجود در فهرست ريشه يك وب سايت مقدار session timeout  را معادل ده دقيقه تعريف نمايد ، تنظميات پيش فرض در فايل machine.config كه مقدار session timeout را بيست دقيقه تعريف كرده است ، ناديده می گيرد . 

تشخيص تغيير در فايل پيكربندی
ASP.NET به صورت اتوماتيك تغييرات ايجاد شده در فايل های machine.config و web.config را تشخيص می دهد . تشخيص فوق توسط  رويداد file-change كه توسط سيستم عامل محقق می گردد ، انجام می شود .
زمانی كه يك برنامه ASP.NET فعاليت خود را آغاز می نمايد ، تنظيمات پيكربندی خوانده شده و  در ASP.NET Cache ذخيره می شوند .در ادامه يك file dependency در entry مربوط به cache در فايل machine.config و يا web.config قرار می گيرد . پس از تشخيص تغيير در فايل های machine.config و يا web.config ، يك application domain جديد توسط ASP.NET ايجاد تا به درخواست های جديد سرويس دهد . application domain قديم پس از پاسخگوئی به درخواست های جاری از بين خواهد رفت .

فرمت فايل پيكربندی
شايد تنها تفاوت اصلی فايل های web.config و machine.config ، نام آنان باشد و شكل و ساختار دو فايل فوق مشابه است . فايل های پيكربندی به چندين بخش تقسيم و هر بخش توسط يك xml element سطح بالا مشخص می گردد . عنصر ريشه xml يك فايل پيكربندی ،  <configuration>  ناميده می شود .
در مثال زير ، يك فايل نمونه web.config نشان داده شده است ( مقادير بين علائم [] ، در يك فايل پيكربندی واقعی ، با مقادير واقعی جايگزين می گردند )  .

<?xml version="1.0" encoding="UTF-8"?>
  <configuration>
       <configSections>
            <section name="[sectionSettings]" type="[Class]"/>
            <sectionGroup name="[sectionGroup]">
                  <section name="[sectionSettings]" type="[Class]"/>
             </sectionGroup>
       </configSections>
   </configuration>

عنصر ريشه Xml يك فايل پيكربندی همواره <configuration>  ناميده می شود . هر section handler به همراه تنظميات مربوطه در يك <SectionGroup> قرار می گيرند . <SectionGroup> يك ساختار سازمانی درون فايل پيكربندی را ارائه  می نمايد تا به كمك آن بتوان پيكربندی مورد نياز را در گروه های منحصربفرد انجام داد  . به عنوان نمونه بخش <system.web> درون فايل پيكربندی ، مكانی را  كه اطلاعات آن در ارتباط با  ASP.NET می باشد ، مشخص می نمايد.
پس از آشنائی اوليه با اصول سيستم پيكربندی ASP.NET 2.0 در بخش بعدی با برخی از تنظميات پيكربندی آشنا خواهيم شد .



جستجو

مقالات                 
دايره المعارف       
دوره های آموزشی


 

 

مشاهده گروه ها



              

 

 تهيه شده در شرکت سخا روش -  1382