فایل global.asax در asp.net چیست و چه کاربردی دارد

ارسال شده توسط: حسین درویشی Comments: 0

فایل global.asax در asp.net چیست و چه کاربردی دارد

اگر با ASP.NET به تازگی کار می کنید یا قبلاً آشنایی دارید و یا اینکه با ویژوال استودیو اقدام به نوشتن برنامه کرده باشید، حتماً نام فایل glabal.asax را شنیده اید. اینکه این فایل در برنامه ما چه کاربردی دارد و اصلاً فایل global.asax در asp.net چیست، موضوع بحثی است که در ادامه به آن قصد داریم بپردازیم.

فایل global.asax چیست؟

فایل global.asax

فایل global.asax در ASP.NET این امکان را به شما می دهد تا راه انداز رویدادهایی بنویسید که در مقابل رویدادهای عمومی برنامه از خودش واکنش نشان می دهند.

نکته قابل توجه در این میان آن است که کاربران نمی توانند بطور مستقیم فایل global.asax را در خواست نموده و به آن دسترسی داشته باشند. بنابراین این کدها در مواجهه با رویدادهای مختلف، به طور خودکار اجرا می شوند. در حقیقت این فایل سرویس قدیمی مانند global.asa در ASP قدیمی را ارائه می دهد.

در فایل global.asax کدهای نوشته شده ماشبه کدهای WebForm می باشند با این تفاوت که تگ های HTML یا ASP.NET در آن جایی ندارند. همچنین متدهای تعریف شده در این فایل با نام های پیش فرض تعریف شده اند و قابل تغییر نیستند.

مثال اول:

فایل global.asax زیر به رویداد HttpApplication.EndRequest واکنش نشان می دهد:

 <%@ Application Language="C#" %>
<script runat="server">
void Application_EndRequest(object sender, EventArgs e)
{
// Log end messages.
_endList.Add("END: " + DateTime.Now);
}
</script>

این رویداد قبل از ارسال صفحه به سمت کلاینت اتفاق می افتد.

هر فایل global.asax متدها را برای یک کلاس برنامه تعریف می کند. این کلاس از کلاس HttpApplication مشتق می شود. که در نهایت کد شما می تواند به اعضای public و یا private خود دسترسی داشته باشد.

رویداد های برنامه

بطور کلی در فایل global.asax می توانید از دو نوع رویداد استفاده کنید:

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

رویدادهای لازم به ترتیب زیر ظاهر می شوند:

متد Application_BeginRequest

این متد در ابتدای هر درخواست فراخوانی می شود.

متد Application_AuthenticateRequest

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

متد Application_AuthorizeRequest

یکی دیگر از متدهای فایل global.asax متد Application_AuthorizeRequest می باشد. این متد به منظور تعیین مجوزهای لازم به کاربر پس از تصدیق هویت کاربرفراخوانی می شود.

متد Application_ResolveRequestCache

این متد با کاشه خروجی به کار می رود . با کشاه خروجی HTML تولید شده می تواند مورد استفاده قرار بگیرد. بدون آنکه کدی اجرا شود.

متد Application_AcquireRequestState

این متد قبل از بازیابی اطلاعات مخصوص Session فراخوانی می شود.

متد Application_PreRequestHandlerExecute

این متد بوسیله راه اندازHTTP قبل از اجرای درخواست فراخوانی می شود.

متد ApplicationPostRequestHandlerExecute

بعد از راه اندازی درخواست متد ApplicationPostRequestHandlerExecute فراخوانی می شود.

متد Application_ReleaseRequestState

زمانی که اطلاعات مخصوص SESSION، در حال ذخیره شدن است، این متد فراخوانی می شود و در درخواست های بعدی در دسترس خواهد بود.

متد Application_UpdateRequestCache

دیگر متد فایل global.asax متد Application_UpdateRequestCache است. این متد قبل از اضافه شدن اطلاعات به کاشه خروجی، فراخوانی می شود.

متد Application_EndRequest

این متد، در پایان یک درخواست و قبل از آزادسازی اشیاء فراخوانی می شود. در این نقطه می توان حافظه را پاکسازی کرد.

بنابراین فایل global.asax در asp.net یکی از فایل هایی است که بصورت اختیاری می تواند توسط برنامه نویس مورد استفاده قرار بگیرد. اما با کمی تعامل به امکانات آن، هر برنامه نویسی براحتی از کنار آن رد نمی شود.

برای امتیاز به این نوشته کلیک کنید!
[کل: 0 میانگین: 0]

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *