سربارگذاری پارامترهای پیش فرض زمان اجرای HTTP در فایل web.config
چهارشنبه 10 آذر 1389 5:11 AM
گاهی اوقات لازم است برخی پارارمترهای زمان اجرای HTTP با توجه به برنامه ای که در حال توسعه آن هستیم تغییراتی داشته باشند. مثلا زمان timeout گاهی ممکن است با توجه به حجم پردازش ما بر روی سرور کافی نباشد و مجبور به اضافه کردن آن باشیم. از آنجایی که ما در برنامه های تحت وب معمولا به و سرور دسترسی نداریم نمیتوانیم این تنظیمات را از طریق وب سرور انجام دهیم.
در این برنامه قصد داریم تا به شما آموزش دهیم چگونه این کار را از طریق فایل web.config انجام دهیم.
برای انجام این کار مراحل زیر را طی میکنیم:
1- فایل web.config را در صورت عدم وجود ایجاد میکنیم
2- در قسمت configuration ، یک هندلر به نام <httpRuntime> اضافه میکنیم و در این هندلر، executionTimeout مورد نظر را مقداردهی میکنیم
فایل web.config در نهایت به این شکل درخواهد آمد:
<?xml version="1.0"?>
<configuration>
<system.web>
<httpRuntime executionTimeout="90"
maxRequestLength="4096"
useFullyQualifiedRedirectUrl="false" />
</system.web>
</configuration>
از مزایای این کار میتواند این باشد که به کاربران این امکان را بدهیم تا بتوانند فایلهای حجیم آپلود کنند. همچنین در برخی مواقع که مجبور هستیم کوئری های عظیم و زمان بر را اجرا نماییم این کار به کمک ما می آید.
در ادامه پارامترهای مهم هندلر httpRuntime را بررسی میکنیم:
این پارامتر حداکثر زمانی را مشخص میکند که یک درخواست ( request ) اجازه دارد اجرا شود قبل از این که به طور خودکار توسط ASP.NET خاتمه داده شود. مقدا پیش فرض برای این پارامتر 90 ثانیه است. مقدار این پارامتر میتواند یک عدد صحیح و مثبت از 1 تا 2،147،483،647 باشد. البته اعداد بسیار بزرگ معمولا استفاده نمیشوند.
این ویژگی حاکثر اندازه ای که یک فایل میتواند توسط برنامه آپلود شود را تعیین میکند.مقدار این پارامتر بر حسب کیلوبایت است و مقدا پیش فرض 4096 یا همان 4 مگابایت را دارد. اگر برنامه شما نیاز دارد که فایلهای حجیم تر از 4 مگابایت را آپلود کند، شما میتوانید مقدار این پارامتر را نیز مانند پارامتر قبلی با یک عدد صحیح و مثبت از 1 تا 2،147،483،647 مقداردهی کنید.
نکته مهم این که بسیاری از حمله های امنیتی DOS یا Denial of Service میتوانند از این کار سوء استفاده کرده و با آپلود مکرر حجم عظیمی از فایلها برنامه شما را از کار بیندازند.
لذا مقدار این خصوصیت بایستی حداقل میزان مورد نیاز باشد
این خصوصیت مشخص میکند که ASP.NET باید از URL های مطلق استفاده کند یا نسبی. به طور پیش فرض این خصوصیت برار False است که باعث میشود ASP.Net از URL های نسبی استفاده نماید. در صورتی که با برنامه های موبایل کار میکنید، در نظر داشته باشید که برخی از این برنامه ها نیاز به URL های مطلق دارند.
مشخص کننده حداکثر تعداد ثانیه هایی است که پس از تغییر اولین فایل، دامنه برنامه از اول شروع به کار کند. در صورتی که نیاز به کپی و عمل پردازشی زیاد دارید مقدار این ویژگی را برابر مقدار زمانی قرار دهید که پس از آن عمل کپی فایل خاتمه یافته باشد. مقدار پیش فرض این خصوصیت برابر صفر میباشد.
پس از آنکه زمان time out سپری میگردد، Asp.net پروسه عملگر ( worker process ) را خاتمه میدهد. این خصوصیت تعداد دقایقی را مشخص میکند که پروسه عملگر برای خاتمه یافتن اجازه دارد. مقدار پیش فرض 90 ثانیه است.