Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs

@-Direktiven auf ASP Seiten

Geschrieben von: Christian Koller
Kategorie: ASP Grundlagen

This printed page brought to you by AlphaSierraPapa

Am Anfang einer jeden ASP Seite kann man @-Direktiven einsetzen, die den Internet Information Server (IIS) anweisen wie eine ASP Seite zu verarbeiten ist. So kann man zum Beispiel angeben, in welcher Sprache - ob Visual Basic Script oder JScript - die Befehle der ASP Seite geschrieben sind.

Standardmäßig ist auf einem IIS die Sprache VBScript als die Default-Sprache eingestellt. Jedoch kann dieser Wert für jede Web Site oder jedes Verzeichnis eines IIS einzeln eingestellt werden.

Die @-Direktive in der ersten Zeile des nun folgenden Skripts bestimmt, daß als Sprache der ASP Seite VBScript verwendet wurde:

<%@LANGUAGE=VBScript %>
<% Option Explicit 

Dim objConn, objRecordset
…

Eine ASP @-Direktive muß immer in der ersten Zeile einer ASP Seite stehen. Die Direktive selbst wird durch den Klammeraffen (@) angezeigt:

<% @Direktive=Wert  %>

Werden mehrere Direktiven benutzt, so werden sie einfach in der ersten Zeile inklusive der @-Zeichen nacheinander geschrieben:

<% @Direktive1=Wert1  @Direktive2=Wert2  %>

Die fünf @-Direktiven, die unter IIS 5.0 eingesetzt werden können, lauten:

@CODEPAGE Codeseite festlegen
@ENABLESESSIONSTATE Verfolgen von User Sessions
@LANGUAGE Skriptsprache (VBScript, JScript) einstellen
@LCID Gebietsschema ID vorgeben
@TRANSACTION Skript als Transaktion behandeln

Die @-Direktiven (auch @-Anweisung, oder @-Verarbeitungsanweisung) werden wie folgt eingesetzt:

@ENABLESESSIONSTATE

Die @EnableSessionState Direktive erlaubt ihnen einzustellen, ob User-Sessions ("Sitzungen") verfolgt werden oder nicht. Wenn sie auf einer ASP Seite keine Session Variablen benötigen, um Userdaten zu speichern oder darauf zuzugreifen, so können sie die @EnableSessionState Direktive auf False setzen:

<% @ ENABLESESSIONSTATE = False %>
Dieser Befehl bewirkt, daß der IIS den Session Cookie des Browsers weder ausliest, noch setzt. Daher wird die Ausführung der ASP Seite beschleunigt, was insbesondere bei großen Websites eine wichtige Rolle spielt.

@LCID

Die @LCID (Local Identifier ID) Direktive legt das Gebietsschema fest, das mit der ASP Seite verwendet wird. Das Gebietsschema wiederrum legt fest, welche Trennzeichen (Punkt oder Beistrich) als Komma bei Zahlenwerten verwendet wird, oder in welcher Reihenfolge bei einem Datum Tag, Monat und Jahr angegeben werden.

Um Deutsch als Gebietsschema einer ASP Seite zu benutzen, geben sie folgende @-Direktive in die erste Zeile:

<% @LCID = 1031 %>
Die Zahl 1031 kennzeichnet das Standard-Gebietschema für Deutsch.

Unter anderem gelten folgende Werte für die entsprechenden Gebietsschemata:

SchemaLCIDSchemaLCID
Dänisch1030Griechisch1032
Deutsch1031Italienisch1040
Englisch (AUS)3081Niederländisch1043
Englisch (UK)2057Portugisisch2070
Englisch (USA)1033Schwedisch1053
Finnisch1035Spanisch1034
Französisch1036

Wenn sie eine Webapplikation auf der deutschen Version eines Webservers (wie IIS oder PWS) testen, jedoch bei einem englischen Provider (wie InnerHost oder DataReturn) ihre ASP Seiten betreiben, so kann es durchaus zu Problemen kommen. @LCID ist dafür verantwortlich, wie Zahlen und Datumswerte formatiert werden, bevor sie dargestellt werden.

Folgendes Beispiel demonstriert ihnen die Problematik:

<% @LCID=1031  %>
<% 
Response.Write Now
Response.Write "<BR>"
Response.Write 3.14159
%>
Die ID auf 1031 (Deutsch) gesetzt liefert:
04.04.00 00:47:20
3,1415926	 
Hingegen liefert eine ID von 1033 (Englisch, USA):
4/4/00 12:47:20 AM
3.14159
Es ist daher ratsam, auf jeder ASP Seite die entsprechende LCID anzugeben um nicht in Konflikt mit der voreingestellten LCID des Servers zu kommen.

@CODEPAGE

Die @Codepage-Direktive legt den Zeichensatz (inklusive Zahlen-, Satz- und Sonderzeichen) fest, der für die ASP Seite verwendet werden soll.

Die folgenden Zeichensätze stehen unter Windows zur Verfügung:

ZeichensatzCODEPAGEZeichensatzCODEPAGE
Arabisch1256Japanisch932
Baltisch1257Koreanisch949
Chinesisch950Osteuropäisch1250
Cyrillisch1251Türkisch1254
Griechisch1253Unicode1200
Hebräisch1255USA (ANSI)1252

@TRANSACTION

Diese @-Direktive wird benutzt, um ein Skript als Transaktion zu behandeln. Um alle Objektaufrufe in einer ASP Seite in einer Transaktion laufen zu lassen, greift der Webserver auf den Microsoft Transaction Server (MTS) zurück, der die Transaktion verwaltet.

Die @Transaction Direktive kann auf folgende Werte gesetzt werden: Required, Requires_New, Supported, Not_Supported. Für nähere Erläuterungen zur @Transaction Direktive, Transaktionen und dem MTS sehen sie in der MSDN, Platform SDK, oder der IIS (und PWS) Dokumentation nach.

This printed page brought to you by AlphaSierraPapa

Verwandte Artikel

Fernöstliche Formulare / Unicode die Zweite
http:/www.aspheute.com/artikel/20001010.htm
Session Variablen - Verwendung und Stolpersteine
http:/www.aspheute.com/artikel/20000505.htm
Strukturierter Aufbau in der ASP-Programmierung
http:/www.aspheute.com/artikel/20011112.htm
Zahl, Datum und Währung korrekt formatiert ausgeben
http:/www.aspheute.com/artikel/20020704.htm
Zwischenspeichern von ASP Seiten
http:/www.aspheute.com/artikel/20000517.htm

 

©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.