فردا روشن اسن به
آموزشASP.NET
صفحه نخست         تماس با مدیر         پست الکترونیک        RSS         ATOM
 
 
جمعه 12 فروردین 1390 :: نویسنده : ارش کاکاوند
در مجموعه مقالات سیستم پیكربندی ASP.NET 2.0 ، تاكنون به موارد زیر اشاره شده است :
  • بخش اول  : آشنائی با اصول اولیه سیستم پیكربندی ASP.NET 2.0
  • بخش دوم  : بررسی تنظیمات Connection string و Session State

در این بخش به بررسی سایر تنظمیات پیكربندی خواهیم پرداخت .

پیكربندی ترجمه
ASP.NET ، صفحات وب ، سرویس های وب ، http handlers ، فایل های برنامه ( نظیر Global.asax ) و فایل های منبع  را به صورت پویا ترجمه می نماید . فایل های فوق به صورت پویا و همزمان با اولین درخواست ، ترجمه می گردند .
هر نوع تغییر در فایل ترجمه شده پویا باعث می گردد  كه تمامی منابع متاثر از تغییرات شوند و به صورت پویا invalidated و مجددا" ترجمه گردند . مكانیزم فوق پیاده كنندگان را قادر می سازد كه به سرعت برنامه های وب را با حداقل overhead اجراء نمایند. چراكه پس از تشخیص تغییرات و ترجمه پویا ، می توان بلافاصله از امكانات برنامه ها استفاده نمود . 

پتانسیل ترجمه پویا در ASP.NET 2.0 نسبت به ASP.NET 1.x افزایش و فایل های دیگری نظیر كلاس فایل ها را نیز تحت پوشش قرار می دهد .
برای پیكربندی تنظیمات ترجمه از بخش <compilation> در فایل های web.config و یا machine.config استفاده می گردد . ASP.NET engine ، در زمان مورد نیاز صفحه را ترجمه و كد تولید شده را در code cache ذخیره می نماید .از cache فوق در زمان اجرای صفحات ASP.NET استفاده می گردد .
كد زیر گرامر بخش <compilatioin>  را نشان می دهد .

<!-- compilation Attributes -->
<compilation
     tempDirectory="directory"
     debug="[true|false]"
     strict="[true|false]"
     explicit="[true|false]"
     batch="[true|false]"
     batchTimeout="timeout in seconds"
     maxBatchSize="max number of pages per batched compilation"
     maxBatchGeneratedFileSize="max combined size in KB"
     numRecompilesBeforeAppRestart="max number of recompilations �
      defaultLanguage="name of a language as specified in a <compiler/> element below"
      <compilers>
          <compiler language="language"
              extension="ext"
              type=".NET Type"
              warningLevel="number"
              compilerOptions="options"/>
     </compilers>
     <assemblies>
            <add assembly="assembly"/>
     </assemblies>
     <codeSubDirectories>
            <codeSubDirectory directoryName="sub-directory name"/>
     </codeSubDirectories>
     <buildproviders>
            <buildprovider
                extension="file extension"
                type="type reference"/>
     </buildproviders>
</compilation>

توضیحات :

  • batch : نوع ترجمه را مشخص می نماید (مقدار پیش فرض True است ) .

  • maxBatchSize : حداكثر تعداد صفحات و یا كلاس را كه می توان در یك batch ترجمه نمود، مشخص می نماید. ( مقدار پیش فرض 1000 )

  • maxBatchGeneratedFileSize : حداكثر اندازه خروجی یك batch assembley ترجمه شده را نشان می دهد ( مقدار پیش فرض 3000  )

  • batchTimeout : زمان ( بر حسب ثانیه ) ترجمه batch را مشخص می نماید . در صورتی كه زمان فوق قبل از اتمام ترجمه به پایان رسیده باشد ، یك exception محقق می گردد ( مقدار پیش فرض پانزده ثانیه است) .

  • debug : آیا می بایست اسمبلی های تولید شده را ترجمه ویا دیباگ نمود ؟ (مقدار پیش فرض False  ).

  • defaultLanguage : زبان برنامه نویسی پیش فرض نظیر VB و یا #C برای استفاده در فایل های ترجمه پویا را مشخص می نماید.

  • tempDirectory : دایركتوری مورد نظر برای استفاده موقت در حین ترجمه را مشخص می نماید . به صورت پیش فرض ، ASP.NET فایل موقت را در مسیر
     [WinNT\Windows]\Microsoft.NET\Framework\[version]\Temporary ASP.NET ایجاد می نماید .

  • compilers : بخش <compilers> ، می تواند شامل چندین زیر عنصر <compile> باشد كه از آنان به منظور ایجاد یك تعریف جدید كمپایل استفاده می گردد .

  • numRecompilesBeforeAppRestart : تعداد دفعات ترجمه ، قبل از راه اندازی برنامه مشخص می نماید .

قابلیت های مرورگر
شناسائی و استفاده از پتانسیل مرورگرها برای برنامه های وب ضروری است . browser capabilities component  بگونه ای طراحی شده است  تا بتواند از مرورگرهای مختلفی نظیر  opera , netscape و IE  حمایت نماید .  با استفاده از <browserCaps> می توان تنظیمات پیكربندی را برای browser capabilities component  مشخص نمود . از عنصر فوق می توان در سطوح متفاوتی ‌نظیر ماشین ، سایت ، برنامه و زیر دایركتوری ها استفاده نمود .
پس از دریافت یك درخواست از یك مرورگر ، browser capabilities component  قابلیت های مرورگر را از طریق هدر درخواست شناسائی و برای هر نوع مرورگر یك مجموعه از تنطیمات مرتبط با برنامه را ترجمه می نماید . تنظیمات فوق را می توان به صورت ایستا انجام و یا از هدر درخواست ارسالی استفاده نمود  . یك برنامه می تواند در صورت ضرورت تنظیمات فوق را را توسعه و یا تغییر دهد .
در ASP.NET 2.0 تمامی اطلاعات مربوط به قابلیت های مرورگر در  "فایل های تعریف مرورگر"  ارائه می گردند . این نوع فایل ها ، فایل هائی با انشعاب browser.*  و فرمت xml می باشند . یك فایل ممكن است شامل تعریف بیش از یك نوع مرورگر باشد . فایل های فوق در زمان نصب فریمورك در آدرس
[WinNT\Windows]\Microsoft.NET\Framework\xxxxx\CONFIG\Browsers نصب می گردند . ( در ASP.NET 1.x ، اطلاعات مربوط به پتانسیل هر مرورگر در فایل های machine.config و web.config ذخیره می گردد ).

    توصیف ویژگی های هر مرورگر


هر مرورگر به عنوان یك موجودیت و با استفاده از عنصر <browser> تعریف و دارای یك id مختص به خود  است كه یك كلاس از مرورگر را به همراه كلاس parent مشخص می نماید . <browsers> ، عنصر ریشه در فایل های تعریف مرورگر است و  از خصلت id به منظور تمایز بین تعاریف هر یك از مرورگر ها ( در صورتی كه بیش از یك مورد در یك فایل تعریف شده باشد ) ، استفاده می گردد .  
قبل از اجرای یك برنامه ASP.NET ، فریمورك تمامی تعاریف مرورگر را در یك اسمبلی ترجمه و آنان را در GAC ذخیره می نماید .
در صورت تغییر فایل های تعریف مرورگر در سطح سیستم ، تغییرات به صورت اتوماتیك بر روی هر یك از برنامه های ASP.NET اعمال نخواهد شد . بنابراین ، این مسئولیت پیاده كنندگان و یا ابزارهای نصب است كه اطلاعات فوق را بهنگام نمایند . اطلاعات بهنگام شده مرورگر را می توان با استفاده از برنامه aspnet_regbrowsers.exe برای تمامی برنامه های ASP.NET ارسال نمود . پس از اجرای برنامه فوق ، اطلاعات مرورگر مجددا" ترجمه و اسمبلی جدید در GAC  ذخیره می گردد . از اسمبلی فوق تمامی برنامه های ASP.NET استفاده می نمایند .

 خطاهای سفارشی
در صورت بروز اشكال در هر یك از صفحات ASP.NET ، یك صفحه خطاء نمایش داده می شود كه در آن كد نوشته شده به همراه مكان ( شماره خط ) بروز خطاء نشان داده می شود . نمایش كد منبع و مكان بروز خطاء در یك صفحه چالش های مختص به خود را دارد :

  • نمایش كد منبع و پیام خطاء  برای كاربران عادی هیچگونه ارزش اطلاعاتی ندارد، پس چرا می بایست آنان را نمایش داد ؟  

  • نمایش كد منبع و پیام خطاء بیش از همه مهاجمان فرصت طلب را خوشحال خواهد كرد چراكه شرایط مناسبی برای ارتقاء دانش آنان به منظور برنامه ریزی حملات فراهم می گردد . 

ASP.NET با ارائه یك زیرساخت مناسب امكان پیشگیری از نمایش اینگونه خطاها را در اختیار پیاده كنندگان برنامه های وب قرار می دهد . بدین منظور از بخش <customeErrors>  در فایل web.config برای تعریف پیام های خطاء سفارشی و سیاست نمایش جزئیات خطاء استفاده می گردد . نحوه استفاده از عنصر فوق به صورت زیر است :

<customErrors defaultRedirect="[url]" mode="[on/off/remote]">
         <error statusCode="[statuscode]" redirect="[url]" />
</customErrors>rs>

توضیحات :

  • defaultRedirect : آدرس صفحه ای را كه پس از بروز خطاء مرورگر كاربران به آن هدایت می گردند را مشخص می نماید .  

  • mode : مقدار نسبت داده شده به این خصلت وضعیت نمایش خطاء سفارشی را مشخص می نماید . در صورتی كه مقدار این خصلت on باشد ، خطاهای سفارشی نمایش داده می شوند . در صورتی كه مقدار mode معادل off باشد ، خطاهای سفارشی نمایش داده نخواهند شد و در صورتی كه مقدار این خصلت remote در نظر گرفته شود ، خطاهای سفارشی صرفا" برای كاربران از راه دور نمایش داده می شود .

  • customeErrors : این بخش شامل چندین زیرعنصر <error> است كه از  آنان به منظور تعریف خطاهای سفارشی استفاده می گردد . هر زیر عنصر <error>  می تواند شامل یك خصلت statusCode و یك URL باشد . 

 <configuration>
  <system.web>
    <customErrors mode="RemoteOnly" defaultRedirect="/DefaultErrorPage.htm">
      
 <error statusCode="500" redirect="/error/ServerError.htm"/>
          <error
statusCode="404" redirect="/error/Filenotfound.aspx"/>
          <error
statusCode="403" redirect="/error/Forbidden.aspx"/>

   </customErrors>
  </system.web>
</configuration>

در بخش چهارم به بررسی سایر تنظیمات پیكربندی خواهیم پرداخت . که فعلا آماده نیست ولی سعی میکنم خیلی زودآمادش کنم.





نوع مطلب :
برچسب ها :
لینک های مرتبط :




درباره وبلاگ

سلام من آرش کاکاوند دانشجوی رشته کامپیوتر هستم و ورود شما رابه دنیای aspخوش امدمیگم.حتما نظر بدین تا من کارم رو بهتر ادامه بدم

مدیر وبلاگ : ارش کاکاوند
مطالب اخیر
نویسندگان
صفحات جانبی
نظرسنجی
شما کدام یک از برنامه های زیر را برای طراحی وب انتخاب می کنید؟








جستجو

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

                    
 
 
 
شبکه اجتماعی فارسی کلوب | Buy Website Traffic | Buy Targeted Website Traffic