1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

آموزش پیکربندی ASP.NET Configuration

شروع موضوع توسط AftabGardoon ‏8/2/19 در انجمن ASP.NET

Tags:
  1. مدیر بازنشسته☕

    تاریخ عضویت:
    ‏15/8/17
    ارسال ها:
    5,336
    تشکر شده:
    42,669
    امتیاز دستاورد:
    113
    عملکرد ASP.NET application تا حد زیادی تحت تاثیر تنظیمات مختلفی است که در فایل های پیکربندی (configuration file) لحاظ می شود. این فایل ها عبارتند از:

    • machine.config
    • web.config
    فایل machine.config دربردانده ی مقدار پیش فرض و ویژه ی ماشین (machine-specific) برای کلیه ی تنظیمات (setting) پشتیبانی شده می باشد. تنظیمات سیستم (system settings) تنها توسط مدیر سیستم (system administrator) کنترل و اداره می شود. بطور کلی application ها اجازه ی دسترسی به فایل مزبور را ندارند.

    با این حال می توان با ایجاد فایل web.config و جای گذاری آن در پوشه ی اصلی (root folder) application، به آن اجازه ی بازنویسی (override) مقادیر پیش فرض را داد. فایل نام برده زیر مجموعه ی فایل machine.config می باشد.

    چنانچه application مورد نظر دارای child directory (زیر پوشه) است، در آن صورت می تواند یک فایل web.config به ازای هر پوشه ایجاد کند. محدوده ی (scope) تک تک فایل های پیکربندی به صورت سلسله مراتبی از بالا به پایین تعیین می شود.

    کلیه ی فایل های web.config می توانند به صورت محلی تنظیمات تعریف شده در سطح بالاتر از خود را بسط داده (extend)، محدود ساخته و یا بازنویسی (override) کند.

    Visual Studio به صورت پیش فرض یک فایل web.config ویژه ی کلیه ی پروژه های موجود ایجاد می کند. اگرچه یک برنامه (application) می تواند بدون نیاز به فایل web.config اجرا شود، اما امکان اشکال زدایی آن بدون وجود فایل ذکر شده وجود ندارد.
     
  2. مدیر بازنشسته☕

    تاریخ عضویت:
    ‏15/8/17
    ارسال ها:
    5,336
    تشکر شده:
    42,669
    امتیاز دستاورد:
    113
    تصویر زیر نمونه ای از application ایجاد شده در مبحث web service را نمایش می دهد:

    [​IMG]
     
  3. مدیر بازنشسته☕

    تاریخ عضویت:
    ‏15/8/17
    ارسال ها:
    5,336
    تشکر شده:
    42,669
    امتیاز دستاورد:
    113
    در application فوق، دو فایل web.config مشاهده می کنید که هر یک ویژه ی یک پروژه ایجاد شده است. یکی از آن ها web service است و دیگری وبگاهی (web site) که آن web service را فرا می خواند.

    المان configuration در فایل web.config گره ی اصلی (root node) می باشد. اطلاعات داخل این المان به دو area (بخش) تقسیم شده:

    • configuration section-handler declaration area و configuration section settings area.
     
  4. مدیر بازنشسته☕

    تاریخ عضویت:
    ‏15/8/17
    ارسال ها:
    5,336
    تشکر شده:
    42,669
    امتیاز دستاورد:
    113
    تکه کد زیر نحوه ی کلی نگارش (basic syntax) فایل پیکربندی (configuration file) را نمایش می دهد:

    کد:
    < !-- Configuration section-handler declaration area. -- >
    < configSections >
      < section name="section1" type="section1Handler" / >
      < section name="section2" type="section2Handler" / >
    < /configSections >
    < !-- Configuration section settings area. -- >
    < section1 >
      < s1Setting1 attribute1="attr1" / >
    < /section1 >
    < section2 >
      < s2Setting1 attribute1="attr1" / >
    < /section2 >
    < system.web >
      < authentication mode="Windows" / >
    < /system.web >
    < /configuration >
     
  5. مدیر بازنشسته☕

    تاریخ عضویت:
    ‏15/8/17
    ارسال ها:
    5,336
    تشکر شده:
    42,669
    امتیاز دستاورد:
    113
    Configuration Section Handler declaration
    Configuration Section Handler ها داخل تگ های قرار دارند. هر configuration handler اسم یک بخش (section) configurationرا داخل فایل مشخص می کند، که داده یا اطلاعاتی درباره ی پیکربندی (configuration data) ارائه می دهد.

    نحوه ی کلی نگارش (syntax) آن به ترتیب زیر می باشد:

    کد:
    < configSections >
      < section / >
      < sectionGroup / >
      < remove / >
      < clear/ >
    < /configSections >
     
  6. مدیر بازنشسته☕

    تاریخ عضویت:
    ‏15/8/17
    ارسال ها:
    5,336
    تشکر شده:
    42,669
    امتیاز دستاورد:
    113
    تگ < configSections > دارای المان های زیر می باشد:

    • clear کلیه ی ارجاعات به section و section group های به ارث برده را حذف می کند.
    • Remove - ارجاع به section و section group به ارث برده را حذف می کند.
    • Section – یک رابطه یا پیوستگی بین configuration section و المان configuration ایجاد (تعریف) می کند.
    • Section group – یک ارتباط بین configuration section handler و configuration section ایجاد می کند.
     
  7. مدیر بازنشسته☕

    تاریخ عضویت:
    ‏15/8/17
    ارسال ها:
    5,336
    تشکر شده:
    42,669
    امتیاز دستاورد:
    113
    Application Settings
    Application Settings امکان ذخیره سازی جفت های کلید-مقدار (key-value pair) مربوط به کل application برای دسترسی در سطح read-only را فراهم می آورد.
     
  8. مدیر بازنشسته☕

    تاریخ عضویت:
    ‏15/8/17
    ارسال ها:
    5,336
    تشکر شده:
    42,669
    امتیاز دستاورد:
    113
    مثال:

    کد:
    < configuration >
        < appSettings >
          < add key="Application Name" value="MyApplication" / >
        < /appSettings >
      < /configuration >

    برای مثال، می توان اسم کتاب و شماره ی ISBN آن را ذخیره کرد:

    کد:
    < configuration >
      < appSettings >
        < add key="appISBN" value="0-273-68726-3" / >
        < add key="appBook" value="Corporate Finance" / >
      < /appSettings >
    < /configuration >
     
  9. مدیر بازنشسته☕

    تاریخ عضویت:
    ‏15/8/17
    ارسال ها:
    5,336
    تشکر شده:
    42,669
    امتیاز دستاورد:
    113
    Connection Strings
    Connection strings نشان می دهد کدام database connection stringها برای وبگاه (website) در دسترس می باشد.
    کد:
    < connectionStrings >
      < add name="ASPDotNetStepByStepConnectionString"
         connectionString="Provider=Microsoft.Jet.OLEDB.4.0;
          Data Source=E:\\projects\datacaching\ /
          datacaching\App_Data\ASPDotNetStepByStep.mdb"
         providerName="System.Data.OleDb" / >
      < add name="booksConnectionString"
         connectionString="Provider=Microsoft.Jet.OLEDB.4.0;
          Data Source=C:\ \databinding\App_Data\books.mdb"
         providerName="System.Data.OleDb" / >
    < /connectionStrings > 
     
  10. مدیر بازنشسته☕

    تاریخ عضویت:
    ‏15/8/17
    ارسال ها:
    5,336
    تشکر شده:
    42,669
    امتیاز دستاورد:
    113
    المان System.Web
    المان system.web عنصر ریشه ی (root element) بخش پیکربندی (configuration section) ASP.NET را مشخص کرده و همچنین دربردانده ی configuration element هایی است که ASP.NET Web application ها را تنظیم / پیکربندی کرده و رفتار (نحوه ی عملکرد) application را مدیریت می کند.

    المان system.web دربردانده ی بیشتر configuration element هایی می باشد که باید در برنامه های مختلف تطبیق داده شوند (adapt).

    کد:
    < system.web >
    < anonymousIdentification >
    < authentication >
    < authorization >
    < browserCaps >
    < caching >
    < clientTarget >
    < compilation >
    < customErrors >
    < deployment >
    < deviceFilters >
    < globalization >
    < healthMonitoring >
    < hostingEnvironment >
    < httpCookies >
    < httpHandlers >
    < httpModules >
    < httpRuntime >
    < identity >
    < machineKey >
    < membership >
    < mobileControls >
    < pages >
    < processModel >
    < profile >
    < roleManager >
    < securityPolicy >
    < sessionPageState >
    < sessionState >
    < siteMap >
    < trace >
    < trust >
    < urlMappings >
    < webControls >
    < webParts >
    < webServices >
    < xhtmlConformance >
    < /system.web >