برنامه (ASP Application)
«برنامه ASP» یعنی چند فایل که باهم یک کار انجام می دهند. شی «Application» اطلاعات مشترک همه کاربران را نگه می دارد و بین صفحات به اشتراک می گذارد.
شی Application چیست؟
شی «Application» مثل تابلو اعلانات مدرسه است. همه می بینند و استفاده می کنند. تفاوتش با «نشست (Session)» این است که Application برای همه کاربران یکی است؛ اما Session برای هر کاربر جداست.
تعریف متغیرهای برنامه در Global.asa
می توانی متغیرهای برنامه را هنگام شروع برنامه بسازی. این مقدارها در همه صفحات در دسترس هستند.
Sub Application_OnStart
Application("vartime") = ""
Application("users") = 1
End Sub
دسترسی به متغیرهای برنامه
از هر صفحه می توانی مقدارها را بخوانی یا عوض کنی. این کار شبیه خواندن متغیر Session است.
There are
<%
Response.Write(Application("users"))
%>
active connections.
حلقه روی Contents
مجموعه «Contents» همه متغیرهای برنامه را نگه می دهد. با یک حلقه می توانی نام ها را چاپ کنی.
<%
Dim i
For Each i In Application.Contents
Response.Write(i & "<br>")
Next
%>
شمارش آیتم ها با Count
اگر تعداد را نمی دانی، خاصیت «Count» کمک می کند.
<%
Dim i
Dim j
j = Application.Contents.Count
For i = 1 To j
Response.Write(Application.Contents(i) & "<br>")
Next
%>
حلقه روی StaticObjects
«StaticObjects» اشیای ثبت شده سراسری برنامه را نشان می دهد. رویش حلقه بزن و ببین چه خبر است.
<%
Dim s
For Each s In Application.StaticObjects
Response.Write(s & "<br>")
Next
%>
قفل کردن: Lock و Unlock
برای جلوگیری از تداخل، هنگام تغییر دسته جمعی مقادیر، برنامه را قفل کن. بعد از پایان، قفل را باز کن.
<%
Application.Lock
' do some application object operations
Application.Unlock
%>
نکته: اطلاعات مشترک مثل «رشته اتصال دیتابیس» را اینجا نگه دار. تغییر در یک جا، همه جا اعمال می شود.
گام های عملی سریع
- دو متغیر Application بساز در Global.asa.
- از یک صفحه مقدار «users» را چاپ کن.
- با Lock و Unlock امن و منظم تغییر بده.
جمع بندی سریع
- Application برای همه کاربران مشترک است.
- Contents فهرست همه متغیرها را می دهد.
- StaticObjects اشیای سراسری را نشان می دهد.
- Lock و Unlock جلوی تداخل را می گیرند.