ریستارت کردن سایت ASP.NET

۱۳۸۷/۱۱/۲۵ ۱۵:۱۵ Salar Khalilzadeh https://plus.google.com/105397214522932500988 منتشر شده در تاریخ : ۱۳۸۷/۱۱/۲۵ دسته بندی : ، ، 1

در وبسایت های پر بازدید پیش میاد که به دلایل مختلفی مانند توسعه و یا تست قسمتی از سایت، یا سنگین شدن سایت به علت استفاده نادرست از رم و یا حملات احتمالی که ممکن است باعث سنگین شدن سایت بشود، نیاز به راه اندازی وبسایت پیش بیاد.
البته در مورد حملات این کار می تواند موفقتا مشکل را حل کند تا فرصت کافی برای راه حل اساسی پیدا کنید.
راه اندازی مجدد یا Restart باعث خواهد شد که تمامی محتویات کش، محتویات session و حافظه پاک شده و وبسایت بسته شود تا در درخواست بعدی به طور خودکار مجددا اجرا شود.

در ASP.NET یک متد اصلی برای این کار طراحی شده است و یک متد دیگر هم وجود دارد که این کار را انجام میدهد.

متد اول:
HttpRuntime.UnloadAppDomain()

این متد باعث پایان یافتن سایت می شود و تا رسیدن درخواست بعدی سایت مجددا اجرا نخواهد شد. نکته مهمی که در استفاده از این تابع است، فراخوانی رویداد Application_End در Global.asax است که به شما اجازه میده کارهای نهایی برای آزاد سازی حافظه را انجام بدید. مزیت اصلی این تابع طی کامل مراحل و عملیات آزاد سازی حافظه و پایان کار سایت است.

متد دوم:
HttpRuntime.Close()

این متد نیز همانند متد قبلی باعث پایان کار سایت خواهد شد و سایت در درخواست بعدی مجددا اجرا خواهد شد. نکته مهم در استفاده این تابع عدم فراخوانی رویداد Application_End هست. در حقیقت این تابع سایت را به یکباره متوقف می کند که هیچیک از مراحل پایان کار سایت اجرا نخواهند شد و می تواند برای مواقع اضطراری مناسب باشد.

نکته ای که در مورد HttpRuntime.Close هست این است که در حقیقت این مدت برای پاک کردن کش سایت طراحی شده، ولی ظاهرا این کار را با بستن سایت انجام می دهد که البته نتایجی مانند Restart کردن دارد! همانطور که گفته شد تفاوت عمده این مدت در این است مراحل بسته سایت به ترتیب انجام نشده و سایت به یکباره متوقف خواهد شد تا در خواست بعدی مجددا اجرا شود.

سعی کنید در قسمت مدیریت سایت خود صفحه ای را برای فراخوانی این دو مدت طراحی کنید.

 

یک بازخورد برای “ریستارت کردن سایت ASP.NET”

  1. سلام
    مطالب منظم و مفیدی دارید
    من برنامه نویسی در گذشته کرده ام و 22 سال دارم اگر بخواهم به صورت حرفه مشغول طراحی و برنامه نویسی برنامه ها و سایت های تحت وب شوم چگونه می توانم شروع کنم
    با محیط و .net 3.5 هم اشنایی مقدماتی دارم.
    منابع خاصی دارید که توصیه کنید در اینترنت ؟

    پاسخحذف