نحوه بکار گیری فایل Golbal.asa و کاربردهای آن

نحوه بکار گیری فایل Golbal.asa و کاربردهای آن

در فایل Global.asa، می توان اسکریپت هائی را تعریف نمود که همزمان با بروز یک رویداد ( Event ) فعال شده و یا اقدام به تعریف اشیاء Session و Application نمود. امکانات تعریف شده در فایل فوق برای تمامی صفحات تشکیل دهنده یک برنامه ASP قابل دستیابی و استفاده خواهند بود. ضرورت وجود فایل فوق اختیاری بوده و در صورت تعریف می بایست در فهرست ریشه ای که برنامه ASP در آن قرار دارد، استقرار یابد. هر برنامه ASP صرفا می تواند دارای یک فایل Global.asa باشد.

رویدادهای استاندارد در فایل Global.asa
در فایل فوق می توان به اشیاء Application و Session گفت که در زمان آغاز و خاتمه عملیات مربوط به خود چه کارهائی را انجام دهند. در مجموع در فایل فوق چهار نوع رویداد را می توان قرار داد :

• Application_OnStart: رویداد فوق زمانیکه اولین کاربر به اولین صفحه یک برنامه ASP دستیابی پیدا می کند، فعال می گردد.
• Session_OnStart: رویداد فوق هر دفعه که یک کاربر جدید درخواست اولین صفحه یک برنامه ASP را داشته باشد، فعال می گردد.
• Session_OnEnd: رویداد فوق هر بار که کاربری به جلسه کاری خود خاتمه می دهد فعال می گردد. در صورتیکه در یک مدت زمان مشخص و محدود ( پیش فرض بیست دقیقه ) در خواست صفحه ای توسط کاربر واصل نگردد، به جلسه کاری وی خاتمه داد می شود.
• Application_OnEnd: رویداد فوق پس از اینکه آخرین کاربر به کار خود خاتمه می دهد، فعال می گردد. معمولا رویداد فوق زمانیکه سرویس دهنده وب متوقف می گردد نیز فعال می گردد.

برای هر یک از رویدادهای فوق می توان روال هائی را نوشت که مسئول برخورد با رویداد مربوطه باشند. این روال ها درفایل Global.asa قرار می گیرند. چهارچوب کلی فایل فوق که متضمن خواسته های چهارگانه فوق باشد می تواند بصورت زیر باشد :

 

<script language="vbscript" runat="server">
sub Application_OnStart
. . .
end sub
sub Application_OnEnd
. . .
end sub
sub Session_OnStart
. . .
end sub
sub Session_OnEnd
. . .
end sub
</script>
 

با مشاهده چهارچوب فوق دوستان متوجه شده اند که از <% و %> استفاده نشده و بمنظور استفاده از اسکریپت ها در فایل Global.asa می بایست از تگ <script> استفاده و روال های مربوطه را تعریف نمود.

در رابطه با فایل Global.asa محدودیت هائی وجود دارد که ذیلا به آنها اشاره می شود :

• فایل فوق قادر به نمایش اطلاعات نمی باشد، بنابراین نمی توانیم بکمک آن متنی را نمایش دهیم.
• از دایرکتیو Include# نمی توان در فایل فوق استفاده نمود.
• در روال های Application_OnStart و Application_OnEnd صرفا می توان از اشیاء Server و Application استفاده کرد.
• در روال Session_OnEnd می توان از اشیاء Server و Application و Session استفاده نمود.
• در روال Session_OnStart می توان از تمامی اشیاء از پیش ساخته شده همراه ASP استفاده نمود.

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

• از فایل Global.asa اغلب برای مقداردهی اولیه متغیرها استفاده می شود. در مثال زیر نحوه تشخیص زمان مربوط به ملاقات یک وب سایت توسط یک کاربر نشان داده شده است. زمان فوق در متغیر started مربوط به شی Session ذخیره می گردد. مقدار متغیر فوق توسط هر یک از صفحات موجود در یک برنامه ASP قابل دستیابی خواهد بود.
 

<script language="vbscript" runat="server">
sub Session_OnStart
Session("started")=now()
end sub
</script>
 

• از دیگرکاربردهای  فایل Global.asa کنترل دستیابی به صفحات نیز می باشد. در مثال زیر پس از ارتباط کاربر با سایت، بصورت اتوماتیک وی بسمت استفاده از یک فایل ( MyNewPage.asp ) دیگر هدایت می گردد.
 


 

<script language="vbscript" runat="server">
sub Session_OnStart
Response.Redirect("MyNewPage.ASP")
end sub
</script>

 

کاربردهای فایل Golbal.asa

در این مثال با استفاده از فایل Global.asa، تعداد ملاقات کنندگان فعال یک سایت را مشخص می نمائیم. در فایل فوق از سه روال استفاده خواهد شد که هر یک عملیات محوله را انجام خواهند داد. روال Application_OnStart، متغیر visitors مربوط به شی Application را صفر قرار می دهد. مقدار اولیه متغیر فوق پس از اینکه سرویس دهنده کار را آغاز کرد، به آن داده خواهد شد. روال Application_OnStart زمانیکه یک ملاقات کننده جدید وارد سایت می گردد، یک واحد به متغیر visitors اضافه کرده و در نهایت روال Session_OnEnd زمانیکه یک ملاقات کننده سایت را ترک می کند، یک واحد از متغیر visitors کم می کند.

 محتویات فایل Global.asa :

<script language="vbscript" runat="server">
Sub Application_OnStart
Application("visitors")=0
End Sub

Sub Session_OnStart
Application.Lock
Application("visitors")=Application("visitors")+1
Application.UnLock
End Sub

Sub Session_OnEnd
Application.Lock
Application("visitors")=Application("visitors")-1
Application.UnLock
End Sub
</script>

  بمنظور نمایش تعداد ملاقات کنندگان فعال، می توان از یک فایل ASP مطابق زیر استفاده نمود.

<%=Application("visitors")%> Online Guests

پس از اجرای ASP فوق، خروجی زیر را خواهیم داشت.

معرفی ویژ گیها و نسب و راه اندازی
 
ایجاد یک سیستم برای ورود اعضاء
 
دریافت اطلاعات از ورودیها به وسیله فرمها
 
sql و ado و نحوه برقراری ارتباط  با asp
 
نحوه بکار گیری فایل Golbal.asa و کاربردهای آن