検索
ホームページバックエンド開発C#.Net チュートリアルASP の Global.asa ファイルの詳細な紹介

Global.asa ファイルは、ASP アプリケーションのすべてのページからアクセスできるオブジェクト、変数、メソッドの宣言を含むことができるオプションのファイルです。

Global.asa ファイル

Global.asa ファイルは、ASP アプリケーションのすべてのページからアクセスできるオブジェクト、変数、メソッドの宣言を含むことができるオプションのファイルです。 Global.asa では、すべての合法的なブラウザ スクリプトを使用できます。

Global.asa ファイルには次のコンテンツを含めることができます:

アプリケーション イベント

セッション イベント

宣言

TypeLibrary 宣言

#include ディレクティブ

注: Global.asa ファイルは次の場所に保存する必要があります。 ASP アプリケーションはプログラムのルート ディレクトリにあり、アプリケーションごとに Global.asa ファイルは 1 つだけ存在できます。

Global.asa のイベント

Global.asa では、開始時と終了時に何を行うかをアプリケーションとセッション オブジェクトに指示できます。このタスクを実行するコードはイベント オペレーターに配置されます。 Global.asa ファイルには、次の 4 種類のイベントを含めることができます。

Application_OnStart - このイベントは、最初のユーザーが ASP アプリケーションから最初のページを呼び出したときに発生します。このイベントは、Web サーバーが再起動されるか、Global.asa ファイルが編集された後に発生します。このイベントの直後に「Session_OnStart」イベントが発生します。

Session_OnStart - このイベントは、新しいユーザーが ASP アプリケーションで最初のページをリクエストするたびに発生します。

Session_OnEnd - このイベントは、ユーザーがセッションを終了するたびに発生します。指定された時間内にページが要求されなかった場合 (デフォルトのイベントは 20 分)、セッションは終了します。

Application_OnEnd - このイベントは、最後のユーザーがセッションを終了した後に発生します。通常、このイベントは Web サーバーが停止したときに発生します。このサブルーチンは、アプリケーションの停止後にレコードの削除やテキスト ファイルへの情報の書き込みなどの設定をクリアするために使用されます。

Global.asa ファイルは次のようになります:

<script language="vbscript" runat="server">
sub Application_OnStart
  &#39;some code
end sub
sub Application_OnEnd
  &#39;some code
end sub
sub Session_OnStart
  &#39;some code
end sub
sub Session_OnEnd
  &#39;some code
end sub
</script>

注: Global.asa ファイルにスクリプトを挿入するのに ASP のスクリプト区切り文字 () を使用できないため、HTML の < を使用する必要があります。 ; script> 要素。

宣言

は、 タグを使用して、Global.asa ファイル内にセッション スコープまたはアプリケーション スコープを持つオブジェクトを作成できます。

注: タグは <script> タグの外側にある必要があります。 </script>

構文:

<object runat="server" scope="scope" id="id"
{progid="progID"|classid="classID"}>
....
</object>

パラメータ。

id オブジェクトの一意の ID を指定します。

ProgID ClassID に関連付けられた ID。 ProgID の形式は、[Vendor.]Component[.Version] です。 ProgID または ClassID を指定する必要があります。

ClassID COM クラス オブジェクトの一意の ID を指定します。 ProgID または ClassID を指定する必要があります。

インスタンス

最初のインスタンスは、ProgID パラメーターを使用して「MyAd」という名前のセッション スコープ オブジェクトを作成します。

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

2 番目のインスタンスは、ClassID パラメーターを使用して「MyConnection」という名前のセッション スコープ オブジェクトを作成します

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

これらのオブジェクトは、この Global.asa ファイルは、アプリケーション内の任意のスクリプトで使用できます。

GLOBAL.ASA:

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

ASP アプリケーションの任意のページからこの "MyAd" オブジェクトを参照できます:

一部の .ASP ファイル:

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

TypeLibrary 宣言

TypeLibrary (タイプ ライブラリ) はコンテナー、DLL ファイルですCOM オブジェクトに対応するものがインストールされます。 Global.asa に TypeLibrary への呼び出しを含めることで、COM オブジェクトの定数にアクセスできるようになり、ASP コードでエラーをより適切に報告できるようになります。サイトのアプリケーションが、データ型がタイプ ライブラリで宣言されている COM オブジェクトに依存している場合は、Global.asa でタイプ ライブラリを宣言できます。

構文:

<!--METADATA TYPE="TypeLib"
file="filename"
uuid="typelibraryuuid"
version="versionnumber"
lcid="localeid"
-->

パラメータ 説明

file タイプ ライブラリへの絶対パスを指定します。パラメータファイルまたはuuid、両方とも必須です。

uuid は、タイプ ライブラリの一意の識別子を指定します。パラメータファイルまたはuuid、両方とも必須です。

バージョン オプション。バージョンを選択するために使用します。指定されたバージョンが見つからない場合は、最も近いバージョンが使用されます。

lcid オプション。タイプ ライブラリに使用されるロケール識別子。

エラー値

サーバーは次のいずれかのエラー メッセージを返します:

错误        代码        描述

ASP        0222        Invalid type library specification    

ASP        0223        Type library not found    

ASP        0224        Type library cannot be loaded    

ASP        0225        Type library cannot be wrapped    

注释:METADATA 标签可位于 Global.asa 文件中的任何位置(在 <script> 标签的内外均可)。不过,我们还是推荐将 METADATA 标签放置于 Global.asa 文件的顶部。</script>

限定

关于可以在 Global.asa 文件中引用的内容的限定:

你无法显示 Global.asa 文件中的文本。此文件无法显示信息。

你只能在 Application_OnStart 和 Application_OnEnd 子例程中使用 Server 和 Application 对象。在 Session_OnEnd 子例程中,你可以使用 Server、Application 和 Session 对象。在 Session_OnStart 子例程中,你可使用任何内建的对象。

如何使用子例程

Global.asa 常用于对变量进行初始化。

下面的例子展示如何检测访问者首次到达站点的确切时间。时间存储在名为 "started" 的 Session 对象中,并且 "started" 变量的值可被应用程序中的任何 ASP 页面访问:

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

Global.asa 也可用于控制页面访问。

下面的例子展示如何把每位新的访问者重定向到另一个页面,在这个例子中会定向到 "newpage.asp" 这个页面:

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

我们还可以在 Global.asa 中包含函数。

在下面的例子中,当 Web 服务器启动时,Application_OnStart 子例程也会启动。随后,Application_OnStart 子例程会调用另一个名为 "getcustomers" 的子例程。"getcustomers" 子例程会打开一个数据库,然后从 "customers" 表中取回一个记录集。此记录集会赋值给一个数组,在不查询数据库的情况下,任何 ASP 页面都能够访问这个数组:

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

Global.asa 实例

在这个例子中,我们要创建一个可计算当前访客的 Global.asa 文件。

Application_OnStart 设置当服务器启动时,Application 变量 "visitors" 的值为 0。

每当有新用户访问时,Session_OnStart 子例程就会给变量 "visitors" 加 1。

每当 Session_OnEnd 子例程被触发时,此子例程就会从变量 "visitors" 减 1。

Global.asa 文件:

<script language="vbscript" runat="server">
Sub Application_OnStart
Application("visitors")=0
End Sub
Sub Session_OnStartApplication.LockApplication("visitors")=Application("visitors")+1Application.UnLockEnd SubSub Session_OnEndApplication.LockApplication("visitors")=Application("visitors")-1Application.UnLockEnd Sub</script>
此 ASP 文件会显示当

前用户的数目:

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

【相关推荐】

ASP免费视频教程

以上がASP の Global.asa ファイルの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
C#.NET:.NETエコシステムを使用したアプリケーションの構築C#.NET:.NETエコシステムを使用したアプリケーションの構築Apr 27, 2025 am 12:12 AM

.NETを使用してアプリケーションを構築する方法は? .NETを使用してアプリケーションを構築することは、次の手順を通じて達成できます。1)C#言語やクロスプラットフォーム開発サポートを含む.NETの基本を理解します。 2)コンポーネントや.NETエコシステムの作業原則などのコア概念を学習します。 3)単純なコンソールアプリケーションから複雑なWebAPISおよびデータベース操作まで、基本的および高度な使用をマスターします。 4)構成やデータベース接続の問題など、一般的なエラーとデバッグ手法に精通している。 5)アプリケーションのパフォーマンスの最適化と非同期プログラミングやキャッシュなどのベストプラクティス。

汎用性のある.NET言語としてのC#:アプリケーションと例汎用性のある.NET言語としてのC#:アプリケーションと例Apr 26, 2025 am 12:26 AM

C#は、エンタープライズレベルのアプリケーション、ゲーム開発、モバイルアプリケーション、Web開発で広く使用されています。 1)エンタープライズレベルのアプリケーションでは、C#がasp.netcoreにWebAPIを開発するためによく使用されます。 2)ゲーム開発では、C#がUnityエンジンと組み合わされて、ロールコントロールやその他の機能を実現します。 3)C#は、コードの柔軟性とアプリケーションのパフォーマンスを改善するために、多型と非同期プログラミングをサポートします。

Web、デスクトップ、モバイル開発用のC#.NETWeb、デスクトップ、モバイル開発用のC#.NETApr 25, 2025 am 12:01 AM

C#と.NETは、Web、デスクトップ、モバイル開発に適しています。 1)Web開発では、ASP.Netcoreがクロスプラットフォーム開発をサポートしています。 2)デスクトップ開発では、さまざまなニーズに適したWPFとWINFORMSを使用します。 3)モバイル開発は、Xamarinを介したクロスプラットフォームアプリケーションを実現します。

C#.NETエコシステム:フレームワーク、ライブラリ、およびツールC#.NETエコシステム:フレームワーク、ライブラリ、およびツールApr 24, 2025 am 12:02 AM

C#.NETエコシステムは、開発者がアプリケーションを効率的に構築できるようにするための豊富なフレームワークとライブラリを提供します。 1.ASP.NETCOREは、高性能Webアプリケーションの構築に使用されます。2.EntityFrameWorkCoreは、データベース操作に使用されます。これらのツールの使用とベストプラクティスを理解することにより、開発者はアプリケーションの品質とパフォーマンスを向上させることができます。

azure/awsへのc#.netアプリケーションの展開:ステップバイステップガイドazure/awsへのc#.netアプリケーションの展開:ステップバイステップガイドApr 23, 2025 am 12:06 AM

c#.netアプリをAzureまたはAWSに展開する方法は?答えは、AzureAppServiceとAwselasticBeanStalkを使用することです。 1。Azureでは、AzureAppServiceとAzurePipelinesを使用して展開を自動化します。 2。AWSでは、Amazon ElasticBeanstalkとAwslambdaを使用して、展開とサーバーレス計算を実装します。

C#.NET:強力なプログラミング言語の紹介C#.NET:強力なプログラミング言語の紹介Apr 22, 2025 am 12:04 AM

C#と.NETの組み合わせにより、開発者に強力なプログラミング環境を提供します。 1)C#は、多型と非同期プログラミングをサポートします。2).NETは、クロスプラットフォーム機能と同時処理メカニズムを提供し、デスクトップ、Web、モバイルアプリケーション開発で広く使用されています。

.NETフレームワーク対C#:用語のデコード.NETフレームワーク対C#:用語のデコードApr 21, 2025 am 12:05 AM

.NetFrameworkはソフトウェアフレームワークであり、C#はプログラミング言語です。 1..netframeworkは、デスクトップ、Web、モバイルアプリケーションの開発をサポートするライブラリとサービスを提供します。 2.C#は.NetFrameWork用に設計されており、最新のプログラミング機能をサポートしています。 3..NetFrameworkはCLRを介してコード実行を管理し、C#コードはILにコンパイルされ、CLRによって実行されます。 4. .NetFrameWorkを使用してアプリケーションをすばやく開発し、C#はLINQなどの高度な関数を提供します。 5.一般的なエラーには、タイプ変換と非同期プログラミングデッドロックが含まれます。 VisualStudioツールは、デバッグに必要です。

C#.NETの分解:初心者の概要C#.NETの分解:初心者の概要Apr 20, 2025 am 12:11 AM

C#は、Microsoftが開発した最新のオブジェクト指向プログラミング言語であり、.NETはMicrosoftが提供する開発フレームワークです。 C#は、CのパフォーマンスとJavaのシンプルさを組み合わせており、さまざまなアプリケーションの構築に適しています。 .NETフレームワークは、複数の言語をサポートし、ガベージコレクションメカニズムを提供し、メモリ管理を簡素化します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!