عملکرد 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 اجرا شود، اما امکان اشکال زدایی آن بدون وجود فایل ذکر شده وجود ندارد.
در application فوق، دو فایل web.config مشاهده می کنید که هر یک ویژه ی یک پروژه ایجاد شده است. یکی از آن ها web service است و دیگری وبگاهی (web site) که آن web service را فرا می خواند. المان configuration در فایل web.config گره ی اصلی (root node) می باشد. اطلاعات داخل این المان به دو area (بخش) تقسیم شده: configuration section-handler declaration area و configuration section settings area.
تکه کد زیر نحوه ی کلی نگارش (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 >
Configuration Section Handler declaration Configuration Section Handler ها داخل تگ های قرار دارند. هر configuration handler اسم یک بخش (section) configurationرا داخل فایل مشخص می کند، که داده یا اطلاعاتی درباره ی پیکربندی (configuration data) ارائه می دهد. نحوه ی کلی نگارش (syntax) آن به ترتیب زیر می باشد: کد: < configSections > < section / > < sectionGroup / > < remove / > < clear/ > < /configSections >
تگ < configSections > دارای المان های زیر می باشد: clear کلیه ی ارجاعات به section و section group های به ارث برده را حذف می کند. Remove - ارجاع به section و section group به ارث برده را حذف می کند. Section – یک رابطه یا پیوستگی بین configuration section و المان configuration ایجاد (تعریف) می کند. Section group – یک ارتباط بین configuration section handler و configuration section ایجاد می کند.
Application Settings Application Settings امکان ذخیره سازی جفت های کلید-مقدار (key-value pair) مربوط به کل application برای دسترسی در سطح read-only را فراهم می آورد.
مثال: کد: < 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 >
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 >
المان 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 >