فهرست سرفصل‌های ASP
خانه (HOME) معرفی (WebPages Intro) ریزر (WebPages Razor) چیدمان (WebPages Layout) پوشه ها (WebPages Folders) گلوبال (WebPages Global) فرم ها (WebPages Forms) اشیا (WebPages Objects) فایل ها (WebPages Files) پایگاه داده ها (WebPages Databases) هلپرها (WebPages Helpers) وب گرید (WebPages WebGrid) نمودارها (WebPages Charts) ایمیل (WebPages Email) امنیت (WebPages Security) انتشار (WebPages Publish) نمونه ها (WebPages Examples) کلاس ها (WebPages Classes) معرفی (Razor Intro) سینتکس (Razor Syntax) متغیرها (Razor C# Variables) حلقه ها (Razor C# Loops) منطق (Razor C# Logic) متغیرها (Razor VB Variables) حلقه ها (Razor VB Loops) منطق (Razor VB Logic) معرفی (ASP Intro) سینتکس (ASP Syntax) متغیرها (ASP Variables) رویه ها (ASP Procedures) شرط ها (ASP Conditionals) حلقه ها (ASP Looping) فرم ها (ASP Forms) کوکی ها (ASP Cookies) نشست (ASP Session) برنامه (ASP Application) اینکلود (#include) (ASP #include) Global.asa (ASP Global.asa) AJAX (ASP AJAX) ایمیل (ASP e-mail) نمونه ها (ASP Examples) گواهینامه (ASP Certificate) توابع VB (ASP VB Functions) کلیدواژه های VB (ASP VB Keywords) Response (ASP Response) Request (ASP Request) Application (ASP Application) Session (ASP Session) Server (ASP Server) Error (ASP Error) FileSystem (ASP FileSystem) TextStream (ASP TextStream) Drive (ASP Drive) File (ASP File) Folder (ASP Folder) Dictionary (ASP Dictionary) AdRotator (ASP AdRotator) BrowserCap (ASP BrowserCap) پیوند محتوا (ASP Content Linking) گرداننده محتوا (ASP Content Rotator) راهنمای سریع (ASP Quick Ref) معرفی (ADO Intro) اتصال (ADO Connect) رکوردست (ADO Recordset) نمایش (ADO Display) کوئری (ADO Query) مرتب سازی (ADO Sort) افزودن (ADO Add) به روزرسانی (ADO Update) حذف (ADO Delete) فرمان (ADO Command) اتصال (ADO Connection) خطا (ADO Error) فیلد (ADO Field) پارامتر (ADO Parameter) ویژگی (ADO Property) رکورد (ADO Record) رکوردست (ADO Recordset) جریان (ADO Stream) انواع داده (ADO DataTypes)
نتیجه‌ای برای جستجو یافت نشد.
ASP

ASP — Global.asa (ASP Global.asa)

آخرین بروزرسانی: 1404/08/14

Global.asa (ASP Global.asa)

فایل «Global.asa» دفتر کل برنامه است. این فایل رویدادها و تنظیمات سراسری را نگه می دارد. «رویداد (Event)» یعنی کدی که در زمان مشخص اجرا می شود، مثل شروع نشست.

Global.asa چه می کند؟

می توانی برای کل برنامه متغیر بسازی، شیء بسازی، و رویدادها را هندل کنی. فقط یک Global.asa در ریشه برنامه مجاز است.

رویدادهای اصلی در Global.asa

چهار رویداد کلیدی داریم: Application_OnStart، Application_OnEnd، Session_OnStart، Session_OnEnd.

<script language="vbscript" runat="server">

sub Application_OnStart
  ' some code
end sub

sub Application_OnEnd
  ' some code
end sub

sub Session_OnStart
  ' some code
end sub

sub Session_OnEnd
  ' some code
end sub

<\/script>

مشاهده در ادیتور

نکته: اسکریپت ها داخل تگ <script> قرار می گیرند، نه با <% و %>.

شیء با محدوده نشست/برنامه

می توانی با تگ <object> شیء COM با scope نشست یا برنامه بسازی.

<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator">
</object>

مشاهده در ادیتور

<object runat="server" scope="application" id="MyConnection" classid="Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21">
</object>

مشاهده در ادیتور

استفاده از شیء در صفحات

GLOBAL.ASA:

<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator">
</object>

SOME .ASP FILE:

<%=MyAd.GetAdvertisement("/banners/adrot.txt")%>

مشاهده در ادیتور

TypeLibrary در Global.asa

با METADATA می توانی تایپ لایبرری را معرفی کنی. سپس ثابت ها و خطاها دقیق تر می شوند.

<!--METADATA TYPE="TypeLib"
file="filename"
uuid="id"
version="number"
lcid="localeid"
-->

مشاهده در ادیتور

محدودیت ها

Global.asa خروجی صفحه نشان نمی دهد. دسترسی اشیاء در هر رویداد محدود است.

نمونه ها: مقداردهی و هدایت

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

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

مشاهده در ادیتور

بازدیدکننده جدید را به صفحه دیگری بفرست.

<script language="vbscript" runat="server">
sub Session_OnStart
  Response.Redirect("newpage.asp")
end sub
<\/script>

مشاهده در ادیتور

نمونه: کش ساده داده ها

در شروع برنامه، داده ها را یک بار بگیر و در Application نگه دار.

<script language="vbscript" runat="server">
sub Application_OnStart
  getcustomers
end sub

sub getcustomers
  set conn = Server.CreateObject("ADODB.Connection")
  conn.Provider = "Microsoft.Jet.OLEDB.4.0"
  conn.Open "c:/webdata/northwind.mdb"
  set rs = conn.execute("select name from customers")
  Application("customers") = rs.GetRows
  rs.Close
  conn.Close
end sub
<\/script>

مشاهده در ادیتور

نمونه: شمارش بازدیدکنندگان آنلاین

با قفل برنامه، مقدار را ایمن افزایش یا کاهش بده.

<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:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>There are <% response.write(Application("visitors")) %> online now!</p>
</body>
</html>

مشاهده در ادیتور

گام های عملی سریع

  1. یک Global.asa در ریشه برنامه بساز.
  2. Application_OnStart را برای تنظیمات اولیه پر کن.
  3. Session_OnStart را برای ثبت ورود کاربر تکمیل کن.

جمع بندی سریع

  • Global.asa فقط یکی است و در ریشه است.
  • رویدادها زمان های مهم را پوشش می دهند.
  • از Application.Lock برای داده مشترک استفاده کن.
  • خروجی مستقیم از Global.asa ممکن نیست.

Global.asa را نشانه گذاری کن تا سریع برگردی.

نکته: برای بخش های مرتبط مثل نشست ها و اینکلود هم سر بزن.