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

Abfragen aller Application Variablen

Geschrieben von: Christian Koller
Kategorie: ASP Grundlagen

This printed page brought to you by AlphaSierraPapa

Application Variablen sind Variablen, die von allen ASP-Skripts einer Website angesprochen werden können. Man kann also einer Application Variablen in einem ASP-Skript einen Wert zuweisen, und den Wert in einer anderen ASP-Seite wieder auslesen. Darüber hinaus kann man auch Arrays und Objekte in einer Application Variablen speichern.

Grundsätzlich bleibt in einer Application Variablen der Wert solange gespeichert, bis der Webserver hinunterfährt oder die Variable gelöscht wird.

Da die Lebensdauer einer Application Variablen prinzipiell unbegrenzt ist (solange der Webserver läuft), kann es in manchen Webapplikationen unter ASP sinnvoll sein, bestimmte Application Variablen nach einer bestimmten Zeit zu löschen. Um nun herauszufinden, welche Application Variablen überhaupt am Server "aktiv" sind, eignet sich folgendes Skript:

<%
For Each Item in Application.Contents
   Response.Write "<b>Application(""" & Item & """)</b> "
   If isObject(Application.Contents(Item)) Then
      strVartype = "Objekt"
      strDisplay = ""
   Else 
      Value = Application.Contents(Item)
      Select Case VarType(Value)
         Case vbEmpty
            strVartype = "Nicht initialisiert (<B>EMPTY</B>)"
            strDisplay = ""
         Case vbNull
            strVartype = "Kein gültiger Inhalt (<B>NULL</B>)"
            strDisplay = ""
         Case vbInteger
            strVartype = "Integer Zahl"
            strDisplay = CStr(Value)
         Case vbLong
            strVartype = "Long Zahl"
            strDisplay = CStr(Value)
         Case vbSingle
            strVartype = "Single Zahl"
            strDisplay = CStr(Value)
         Case vbDouble
            strVartype = "Double Zahl"
            strDisplay = CStr(Value)
         Case vbCurrency
            strVartype = "Währung"
            strDisplay = CStr(Value)
         Case vbDate
            strVartype = "Datum"
            strDisplay = CStr(Value)
         Case vbString
            strVartype = "String"
            strDisplay = CStr(Value)
         Case vbObject
            strVartype = "Objekt"
            strDisplay = ""      
         Case vbBoolean
            strVartype = "Boolean"
            strDisplay = CStr(Value)      
         Case vbDataObject
            strVartype = "Daten-Zugriffs Objekt"
            strDisplay = ""      
         Case vbByte
            strVartype = "Byte Zahl"
            strDisplay = CStr(Value)
         Case Else
            If VarType(Value) AND vbArray <> 0 Then
               strVartype = "Array"
               strDisplay = ""   
            Else
               strVartype = "unbekannt"
            End If
      End Select
   End If
   
   strEncoded = Server.HTMLEncode(strDisplay)
   Response.Write "  [<B><I>" & strVarType & "</I></B>] :"
   If Instr(strEncoded, VbCrLf) <> 0 Then
      Response.Write "<BR>"
   Else
      Response.Write " "
   End If
   Response.Write Replace(strEncoded, VbCrLf, "<BR>" & VbCrLf)
   Response.Write "<BR>" & VbCrLf & "<HR>" & VbCrLf
Next
%>

Das Skript durchläuft alle Elemente (engl. Items) der Contents Collection des Application Objektes. Jedes Element repräsentiert eine Application Variable. Die Variable Item in der For..Next Schleife enthält den Namen der jeweiligen Application Variablen. Der Inhalt der einzelnen Application Variable wird auch aus der Contents Collection ausgelesen Das Skript prüft außerdem, welcher Variablentyp in der jeweiligen Application Variablen gespeichert ist.

Das Skript eignet sich auch hervorragend zum Debuggen von Problemen die im Zusammenhang mit Application Variablen auftreten - so zum Beispiel, wenn Application Variablen plötzlich und unverhofft den "falschen" (=nicht erwarteten) Datentyp oder Wert haben.

This printed page brought to you by AlphaSierraPapa

Download des Codes

Klicken Sie hier, um den Download zu starten.
http://www.aspheute.com/code/20000427.zip

 

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