GLOBAL.ASA | |
Die Datei Die Datei Im Abschnitt "Datei
|
GLOBAL.ASA: Anmerkungen/Fehlerbehebung | |
Wenn Sie die Datei Auf Sitzungen, die währenddessen aktiv bleiben, wirken sich Ihre Änderungen an Wenn Sie eigene Die Datei Schließlich ist auch darauf zu achten, die Datei |
Ereignisse des Objekts Application und anwendungsweite Gültigkeit | |
<SCRIPT LANGUAGE=strLangEngine RUNAT = SERVER> Sub Application_OnStart Event procedure code... End Sub Sub Application_OnEnd Event procedure code... End Sub </SCRIPT> | |
<SCRIPT LANGUAGE=strLangEngine RUNAT = SERVER> Sub Application_OnStart Event procedure code... End Sub Sub Application_OnEnd Event procedure code... End Sub </SCRIPT> Die Datei Wie bereits im Kapitel "Application-Objekt" ausgeführt, besteht eine ASP-Anwendung aus allen in einem virtuellen Verzeichnis und dessen Unterverzeichnissen befindlichen Dateien. Variablen oder Objekte mit anwendungsweiter Gültigkeit besitzen für jeden aktuellen Benutzer der Anwendung dieselben Werte, und jeder Benutzer kann die Werte einer anwendungsweiten Variable bzw. eines anwendungsweiten Objekts ändern. Eine solche Änderung wirkt sich für alle nachfolgenden Benutzer gleichermaßen auf den Wert aus. |
|
Parameter | |
|
|
Beispiel | |
[Excerpt from GLOBAL.ASA] <OBJECT RUNAT=Server SCOPE=Application ID=AppInfo1 PROGID="MSWC.MyInfo"> </OBJECT> <SCRIPT LANGUAGE = "VBScript" RUNAT="Server"> Sub Application_OnStart Dim objCounters Dim gdatAppStartDate ' The following object variable will hold a Counters ' component. Set objCounters = Server.CreateObject("MSWC.Counters") ' The following application-level variable will ' hold the start date of the application. gdatAppStartDate = Date( ) End Sub Sub Application_OnEnd ' The following code destroys the application-scoped ' Counters component. Set objCounters = Nothing ' The following clears the application-level variable. gdatAppStartDate = " ' NOTE: This code is not strictly necessary in this ' instance as this object and variable will be released ' from memory by the web server itself when the application ' ends. This example simply demonstrates how these event ' procedures work. For suggestions for the Application ' object's use, see the following and Chapter 4. End Sub </SCRIPT> |
|
Hinweis | |
Einige Hinweise zur Datei Zweitens: Wenn Sie eine Weitere Hinweise zu den Ereignisprozeduren des Objekts Application finden Sie in Kapitel 4. |
|
Ereignisse des Objekts Session und sitzungsweite Gültigkeit | |
<SCRIPT LANGUAGE=strLangEngine RUNAT = SERVER> Sub Session_OnStart Event procedure code... End Sub Sub Session_OnEnd Event procedure code... End Sub </SCRIPT> | |
<SCRIPT LANGUAGE=strLangEngine RUNAT = SERVER> Sub Session_OnStart Event procedure code... End Sub Sub Session_OnEnd Event procedure code... End Sub </SCRIPT> Die Datei |
|
Parameter | |
|
|
Beispiel | |
[Excerpt from GLOBAL.ASA] <OBJECT RUNAT=Server SCOPE=Session ID=Tool1 PROGID="MSWC.Tools"> </OBJECT> <SCRIPT LANGUAGE = "VBScript" RUNAT="Server"> Sub Session_OnStart Dim strLogonUser Dim StrUserSecurity ' The following session-level variables will hold ' the user's logon name and security clearance. strLogonUser = Request.ServerVariables("USER_LOGON") strUserSecurity = "PUBLIC" End Sub Sub Session_OnEnd ' The following code destroys the session-scoped ' Tools component. Set Tool1 = Nothing ' The following clears the session-level variables. strLogonUser = " strUserSecurity = " ' NOTE: This code is not strictly necessary in this ' instance as this object and variable will be released ' from memory by the web server itself when the session ' ends. This example simply demonstrates how these event ' procedures work. For suggestions for the Application ' object's use, see later in this chapter and Chapter 10. End Sub </SCRIPT> |
|
Hinweis | |
Weitere Hinweise zu den Ereignisprozeduren des Objekts Session finden Sie in Kapitel 10. |
|
Deklarationen der Typbibliothek | |||||||||||
<!-- METADATA TYPE="TypeLibrary" FILE="FileName" UUID="TypeLibraryUUID" VERSION="MajorVersionNumber.MinorVersionNumber" LCID="LocaleID" --> | |||||||||||
<!-- METADATA TYPE="TypeLibrary" FILE="FileName" UUID="TypeLibraryUUID" VERSION="MajorVersionNumber.MinorVersionNumber" LCID="LocaleID" --> Typbibliotheken sind Zubehördateien, die Informationen über die Eigenschaften und Methoden von COM-Objekten enthalten. Diese Dateien beschreiben sowohl die von den Objekten verwendeten Konstanten als auch den Datentyp zulässiger Eigenschaftswerte. Durch den Einsatz einer Typbibliothek erhalten Sie von Ihrer Anwendung genauere Meldungen über Fehler in der Verwendung des Objekts, auf das sich die jeweilige Typbibliothek bezieht. Eine solche Bibliothek ermöglicht Ihnen außerdem, in der DLL des Objekts definierte Konstanten zu verwenden. Der Code von Objekten wird dadurch mitunter sehr viel weniger kompliziert und wesentlich leichter lesbar und kann wiederverwendet werden, ohne dass Sie Server-Side Includes erzeugen müssen, die bei mehreren Objekte oft schwer zu pflegen sind. Wie Sie bereits wissen, können Sie anwendungsweite und sitzungsweite Objekte in der Datei |
|||||||||||
Parameter | |||||||||||
|
|||||||||||
Beispiel | |||||||||||
[Excerpt from GLOBAL.ASA] <!-- METADATA TYPE="TypeLibrary" FILE="Report.LIB" VERSION="1.5" LCID="1306" --> |
|||||||||||
Hinweis | |||||||||||
Mit diesem Code wird die Verwendung von Version 1.5 der Typbibliothek des COM-Objekts Report deklariert. Die Sprachumgebungskennung (LCID) ist diejenige für Französisch. Wenn Version 1.5 der Typbibliothek dieses COM-Objekts nicht gefunden werden kann oder die Typbibliothek die Sprachumgebung mit der LCID 1306 (Französisch) nicht unterstützt, generiert der Code einen Fehler. Wenn Sie in einer ASP-Anwendung mit einer Typbibliothek arbeiten, verwenden Sie eigentlich eine in einem Wrapper eingeschlossene Version der Typbibliothek. IIS erzeugt diesen Wrapper für Ihre Typbibliothek im Hintergrund. Für den guten Kodierstiel empfiehlt Microsoft, die Deklarationen der Typbibliothek in den Anfangsbereich der Datei Eines der Probleme, die der Einsatz von Typbibliotheken aus mehreren COM-Objekten in einer ASP-Anwendung aufwirft (besonders dann, wenn die COM-Objekte von unterschiedlichen Programmierern stammen), ist die Konstantenredundanz innerhalb des Objekts. Indem Sie beim Verweisen auf Konstanten den Namen des COM-Objekts selbst als Präfix für den jeweiligen Konstantennamen verwenden, lässt sich diese Redundanz vermeiden. So können Sie beispielsweise auf die Konstante adStoredProcedure der ADODB-Typbibliothek mit ADODB.adStoredProcedure verweisen. Falls Sie die Typbibliothek falsch deklarieren, kann der Webserver einen der in nachfolgender Tabelle aufgeführten Fehler ausgeben:
|
|||||||||||