مشاوره رایگان
دریافت لینک های دانلود دریافت پستی درب منزل مبلغ کل: تومان
جهت دریافت کد تخفیف به کانال تلگرام مراجعه و یا با پشتیبان آنلاین هماهنگ نمایید

آموزش پیکربندی با فایل web.config در ASP.NET با توضیحات کامل


پیکربندی

رفتار یک برنامه کاربردی ASP.NET ، تحت تأثیر تنظیمات مختلف در فایل های پیکربندی است:

  • machine.config
  • web.config

فایل machine.config ، شامل مقادیر پیش فرض و خاص ماشین است که برای تمام تنظیمات پشتیبانی شده ، به کار می روند. تنظیمات ماشین توسط مدیر سیستم کنترل می شود و برنامه های کاربردی به طور کلی به این فایل دسترسی ندارند.

با این وجود، یک برنامه کاربردی می تواند با ایجاد فایل های web.config در پوشه roots خود ، مقادیر پیش فرض را لغو نماید. فایل web.config زیر مجموعه ای از فایل machine.config است.

اگر برنامه کاربردی ، حاوی دایرکتوری های فرزند باشد، می تواند یک فایل web.config را برای هر پوشه تعریف کند. محدوده هر فایل پیکربندی (configuration file) در یک سلسله مراتب بالا به پایین تعیین می شود.

هر فایل web.config ، می تواند به صورت محلی توسعه یابد ، محدود شود ، یا هر تنظیم تعریف شده در سطوح بالا را لغو نماید.

ویژوال استودیو ، یک فایل پیش فرض web.config را برای هر پروژه ایجاد می کند. یک برنامه کاربردی می تواند بدون یک فایل web.config اجرا شود، اما ، نمی توانیم یک برنامه کاربردی را بدون فایل web.config اشکال زدایی نماییم.

شکل زیر ، Solution Explorer را که برای مثال نمونه در آموزش "سرویس های وب" استفاده شده است ، نشان می دهد:

در این برنامه کاربردی ، دو فایل web.config برای دو پروژه وجود دارد ، یعنی سرویس وب و وب سایت که سرویس وب را فراخوانی می کند.

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

قطعه کد زیر قاعده نوشتاری (syntax) اصلی یک فایل پیکربندی را نشان می دهد:

<configuration>

   <!-- 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>

اعلان های هندلر بخش پیکربندی

هندلرهای بخش پیکربندی ، درون تگ <configSections> قرار داده می شوند. هر هندلر پیکربندی ، نام یک بخش پیکربندی را که درون فایل قرار دارد ، مشخص می کند. این هندلرها ، برخی از داده های پیکربندی را فراهم می نمایند. syntax پایه ای این هندلر به صورت زیر است:

<configSections>
   <section />
   <sectionGroup />
   <remove />
   <clear/>
</configSections>

هندلر فوق ، عناصر زیر را دارد:

  • Clear : این عنصر ، تمام ارجاع ها به بخش های به ارث برده شده و گروه های بخش را حذف می کند.
  • Remove : یک ارجاع به بخش به ارث برده شده و گروه بخش را حذف می کند.
  • Section : این عنصر ، یک ارتباط بین یک هندلر بخش پیکربندی و یک عنصر پیکربندی را تعریف می کند.
  • Section group : این عنصر ، یک ارتباط بین یک هندلر بخش پیکربندی و یک بخش پیکربندی را تعریف می کند.

تنظیمات برنامه کاربردی

تنظیمات برنامه کاربردی ، اجازه می دهد که جفت های name-value ، برنامه کاربردی را برای دسترسی فقط خواندنی (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

رشته های connection ، نشان می دهند که کدام رشته های اتصال پایگاه داده ، برای وب سایت در دسترس هستند. به طور مثال:

<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 برای بخش پیکربندی ASP.NET را مشخص می کند و حاوی عناصر پیکربندی است که برنامه های کاربردی Web ASP.NET را پیکربندی می کنند و نحوه رفتار برنامه های کاربردی را کنترل می نمایند.

این عنصر ، اکثر عناصر پیکربندی مورد نیاز برای تنظیم در برنامه های کاربردی معمول را دارا می باشد. syntax پایه ای برای عنصر به صورت زیر است:

<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>

در ادامه، شرح مختصری از برخی عناصر فرعی رایج عنصر system.web را شرح می دهیم:

AnonymousIdentification

این عنصر ، برای شناسایی کاربرانی که تأیید اعتبار ندارند ، در مواقعی که مجوز لازم است ، به کار می رود.

Authentication

این عنصر ، پشتیبانی از احراز هویت را پیکربندی می کند. syntax پایه ای آن به صورت زیر است:

<authentication mode="[Windows|Forms|Passport|None]"> 
   <forms>...</forms>
   <passport/>
</authentication>

Authorization

این عنصر ، پشتیبانی از مجوز را تنظیم می کند. syntax پایه ای آن به صورت زیر است:

<authorization> 
   <allow .../>
   <deny .../>
</authorization>

Caching

این عنصر تنظیمات حافظه پنهان را پیکربندی می کند. syntax پایه ای آن به صورت زیر است:

<caching>
   <cache>...</cache>
   <outputCache>...</outputCache>
   <outputCacheSettings>...</outputCacheSettings>
   <sqlCacheDependency>...</sqlCacheDependency>
</caching>

CustomErrors

این عنصر ، پیام های خطای سفارشی را تعریف می کند. syntax پایه ای آن به صورت زیر است:

<customErrors defaultRedirect="url" mode="On|Off|RemoteOnly">
   <error. . ./>
</customErrors>

Deployment

این عنصر ، تنظیمات پیکربندی مورد استفاده برای استقرار را تعریف می کند. syntax پایه ای آن به صورت زیر است:

<deployment retail="true|false" />

HostingEnvironment

این عنصر ، تنظیمات پیکربندی برای محیط میزبانی را تعریف می کند. syntax پایه ای آن به شرح زیر است:

<hostingEnvironment idleTimeout="HH:MM:SS" shadowCopyBinAssemblies="true|false" 
   shutdownTimeout="number" urlMetadataSlidingExpiration="HH:MM:SS" />

Identity

این عنصر ، شناسه برنامه کاربردی را پیکربندی می کند. syntax پایه ای آن به صورت زیر است:

<identity impersonate="true|false" userName="domain\username"
   password="<secure password>"/>

MachineKey

این عنصر ، کلیدهایی را جهت استفاده در رمزنگاری و رمزگشایی داده های کوکی فرم های احراز هویت ، پیکربندی می کند.

هم چنین امکان پیکربندی یک کلید اعتبار سنجی را فراهم می کند که بررسی احراز هویت پیام را بر روی داده های view-state و ticket های فرم های تأیید هویت انجام می دهد. Syntax پایه ای آن به صورت زیر است:

<machineKey validationKey="AutoGenerate,IsolateApps" [String]
   decryptionKey="AutoGenerate,IsolateApps" [String]
   validation="HMACSHA256" [SHA1 | MD5 | 3DES | AES | HMACSHA256 | 
   HMACSHA384 | HMACSHA512 | alg:algorithm_name]
   decryption="Auto" [Auto | DES | 3DES | AES | alg:algorithm_name]
/>

Membership

این عنصر ، پارامترهای مدیریت و تأیید اعتبار حساب های کاربری را پیکربندی می کند. syntax پایه ای آن به صورت زیر است:

<membership defaultProvider="provider name"
   userIsOnlineTimeWindow="number of minutes" hashAlgorithmType="SHA1">
   <providers>...</providers>
</membership>

Pages

این عنصر ، پیکربندی های خاص صفحه را فراهم می کند. syntax پایه ای آن به صورت زیر است:

<pages asyncTimeout="number" autoEventWireup="[True|False]"
      buffer="[True|False]" clientIDMode="[AutoID|Predictable|Static]"
      compilationMode="[Always|Auto|Never]" 
      controlRenderingCompatibilityVersion="[3.5|4.0]"
      enableEventValidation="[True|False]"
      enableSessionState="[True|False|ReadOnly]"
      enableViewState="[True|False]"
      enableViewStateMac="[True|False]"
      maintainScrollPositionOnPostBack="[True|False]" 
      masterPageFile="file path" 
      maxPageStateFieldLength="number" 
      pageBaseType="typename, assembly"
      pageParserFilterType="string" 
      smartNavigation="[True|False]"
      styleSheetTheme="string"
      theme="string"
      userControlBaseType="typename"
      validateRequest="[True|False]"
      viewStateEncryptionMode="[Always|Auto|Never]" >
   
   <controls>...</controls>
   <namespaces>...</namespaces>
   <tagMapping>...</tagMapping>
   <ignoreDeviceFilters>...</ignoreDeviceFilters>
</pages>

Profile

این عنصر ، پارامترهای پروفایل کاربر را پیکربندی می کند. syntax پایه ای آن به صورت زیر است:

<profile enabled="true|false" inherits="fully qualified type reference"
   automaticSaveEnabled="true|false" defaultProvider="provider name">
   
   <properties>...</properties>
   <providers>...</providers>
   
</profile>

RoleManager

این عنصر ، تنظیمات را برای نقش های کاربر پیکربندی می کند. syntax پایه ای آن به صورت زیر است:

<roleManager cacheRolesInCookie="true|false" cookieName="name"
   cookiePath="/" cookieProtection="All|Encryption|Validation|None"
   cookieRequireSSL="true|false " cookieSlidingExpiration="true|false "
   cookieTimeout="number of minutes" createPersistentCookie="true|false"
   defaultProvider="provider name" domain="cookie domain"> 
   enabled="true|false"
   maxCachedResults="maximum number of role names cached"
   
   <providers>...</providers>
</roleManager>

SecurityPolicy

این عنصر ، سیاست امنیتی را پیکربندی می کند. syntax پایه ای آن به صورت زیر است:

<securityPolicy>
   <trustLevel />
</securityPolicy>

UrlMappings

این عنصر ، نگاشت هایی را برای مخفی کردن URL اصلی تعریف می کند و یک URL را که user friendly است  ارائه می دهد. Syntax پایه یا آن به صورت زیر است:

<urlMappings enabled="true|false">
   <add.../>
   <clear />
   <remove.../>
</urlMappings>

WebControls

این عنصر ، نام موقعیت به اشتراک گذاشته شده برای اسکریپت های کلاینت را فراهم می کند. syntax پایه ای آن به صورت زیر است:

<webControls clientScriptsLocation="String" />

WebServices

این عنصر ،  سرویس های وب را پیکربندی می کند.

 

فصلِ: 5 , تعداد قسمت ها: 176 , سطح: صفر تا صد

این فصل در یک نگاه:

در این فصل پس از بررسی سیستم مسیریابی و طراحی صفحه نمایش ویدیو ها، به سراغ پنل کاربری خواهیم رفت و مباحث Model Binding و…

توجه: این دوره آموزشی به صورت پیوسته بر اساس آخرین نسخه ی ASP.NET Core بروزرسانی خواهد شد.   آموزش صفر تا صد طراحی سایت اشتراک ویدیو مشابه آپارات با استفاده از  ASP.NET CORE  MVC 3.0 و V…
فصلِ: 8 , تعداد قسمت ها: 357 , سطح: صفر تا صد

این فصل در یک نگاه:

توضیحات کلی مجموعه: در این مجموعه قصد داریم تا فروشگاه اینترنتی دیجی کالا رو با Asp.Net Core3 پیاده سازی کنیم. ابتدا طراحی قالب دیجی کالا رو به صورت کامل انجام خواهیم داد. در مرحله میریم …
فصلِ: 5 , تعداد قسمت ها: 135 , سطح: صفر تا صد

این فصل در یک نگاه:

توضیحات کلی مجموعه: در این مجموعه آموزشی، با استفاده از جدیدترین تکنولوژی ها و ابزار های مایکروسافت (دات نت)، به یک پروژه جذاب مدیریت آگهی مشابه دیوار می پردازیم. این آموزش در دو بخش کلی و…
فصلِ: 7 , تعداد قسمت ها: 153 , سطح: صفر تا صد
موضوعات: آموزش ASP.NET

این فصل در یک نگاه:

در این دوره به آموزش صفر تا صد جدیدترین نسخه ASP یعنی CORE جدیدترین ورژن خواهیم پرداخت.این آموزش از سطح مقدماتی تا فوق …

دوره آموزش کامل طراحی وب به همراه پروژه ساخت سیستم مدیریت کتابخانه  این دوره  با کور 1 آغاز می شود و در ادامه پروژه به کور 2 تبدیل می شودو پروژه نهایی (سیستم مدیریت کتابخانه) با Asp.net کور…
فصلِ: 1 , تعداد قسمت ها: 5 , سطح: متوسط

این فصل در یک نگاه:

ساخت محیط کاربریآموزش نحوه ی ارسال ایمیل در Asp.net MVCآموزش تنظیمات Gmail برای استفادهاستفاده از Yahooاستفاده از سرویس …

به نام خدا... در خدمتتون هستم با آموزش ارسال ایمیل در Asp.net MVC... ارسال ایمیل یکی از اجزای اصلی ییک سایت به شمار می رود و واقعا سایتی که برای اجزای مختلفش همانند ثبت کاربر جدید و یا ارسال…
فصلِ: 2 , تعداد قسمت ها: 62 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل دوم در یک نگاه:فصل دوم در یک نگاه:…

در این پکیج به مبحث طراحی وب ، در قالب ساخت یک سایت فروشگاهی 5040 به آدرس http://5040.ir می پردازیم که به جرات مشهورترین و یکی از برترین فروشگاه های مجازی در کشور است. در این مجموعه قصد داری…
فصلِ: 4 , تعداد قسمت ها: 78 , سطح: متوسط

این فصل در یک نگاه:

در این دوره آموزشی، وبسایت ورزش3 را با استفاده از ASP.NET Core پیاده سازی می کنیم و همچنین اپ اندروید آن را هم با Xamarin متصل به سرور سایت طراحی و در نهایت نحوه انتشار آن در مارکت هایی مثل …
فصلِ: 1 , تعداد قسمت ها: 14 , سطح: متوسط

این فصل در یک نگاه:

کاملترین آموزش هاست و کار با سی پنل.در هنگام خرید سرویس هاست کلمه ای به نام “کنترل پنل” را زیاد خواهید دید آیا تا به حال…

سی پنل یک کنترل پنل هاست محبوب و معروف در جهان و ایران است. در فیلم آموزش سی پنل هم توصیه اکید شده تا افراد مبتدی و حتی افراد حرفه ای از این کنترل پنل هاست سی پنل استفاده کنند. آموزش cpanel …
فصلِ: 5 , تعداد قسمت ها: 25 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل پنجم…

توضیحات کلی مجموعه: درباره گیت: لذت پیش بردن پروژه های برنامه نویسی خود را با بهترین ورژن کنترل سیستم جهان تجربه کنید کامل ترین دوره ی آموزشی گیت و گیت هاب به همراه مثال های کاربردی گی…
فصلِ: 1 , تعداد قسمت ها: 15 , سطح: متوسط

این فصل در یک نگاه:

رشد و درآمدزایی یک وب سایت یا کسب و کار اینترنتی کاملا به ذوق و مهارت وب مستر یا همان مدیر اصلی وب سایت گره خورده و متاس…

 اصول مدیریت وب سایت برای وب مستر شدن برای موفقیت یک وب سایت لازم الاجراست. زیرا شما دوست دارید وب سایت خود را به کارخانه پولسازی تبدیل کنید. این واقعیت رویا نیست. هرکس این اصول را بداند به …

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید