DevTrain

Autor: Bernhard Elbl

Performance steigern - Application-Variablen ausschöpfen

Application-Variablen bleiben während der gesamten Laufzeit einer Web-Application im Arbeitsspeicher erhalten. Sie können nur durch bes. ASP-Code oder durch Beenden des IIS-Dienstes gelöscht werden.
App-Var. können außerdem von jeder im Web vorhanden ASP-Seite aus abgefragt werden.

Daraus ergibt sich, daß häufig benötigter Code oder Daten zur Vereinheitlichung in Application-Variablen gespeichert werden können. In manchen Fällen kann auch eine nicht unbeachtliche Performance-Steigerung erreicht werden.(wird im Beispiel gezeigt)

Im Bespiel werde ich die Grundstruktur (lesen sie dazu: "noFrames") einer ASP-Seite aus zwei Application-Variablen erstellen:
Application("menuBegin_string") und Application("menuEnd_string")
Sehen Sie sich den Aufbau von DevTrain an. Diese Grundstruktur werde ich in Application-Variablen einlagern. Sie beinhalten das komplette Menü(so wie oben) und den Inhalt(so wie rechts). Dadurch spare ich ein include-file und damit Zeit, wodurch es zur Performance-Steigerung kommt.

Ich schreibe als erstes eine Textdatei. Diese Beinhaltet den Code für das obere Menu und den Link-Inhalt auf der rechten Seite.
appbeginn.txt
<html>
<head>
</head>
<body>
<table border=1 width="100%">
 <tr align="center" valign="middle">
  <th colspan="2">Das ist die Kopf<img width="150" height="40" src="./images/ppedv.gif">Überschrift</th>
 </tr>
 <tr>
  <td width="20%"> 
   <A HREF="link1.asp">Ein Link</A><br>
   <A HREF="link2.asp">Noch ein Link</A><br>
   <A HREF="link3.asp">wieder ein Link</A><br>
  </td>
  <td width="80%">
  </td>
 </tr>
</table>
</body>
</html>


Diesen Inhalt lasse ich durch eine ASP-Seite auslesen und in App-Var speichern. Dies geschieht über das Scripting.FileSystemObject.
appinizial.asp
<%@ Language="VBScript" %>
<%
set Datei = Server.CreateObject("scripting.filesystemobject")
 Const ForReading = 1
 set leseDatei = Datei.OpenTextFile(Server.MapPath("./appbeginn.txt"),ForReading)
  strInhalt = leseDatei.ReadAll
  leseDatei = close
 set leseDatei = nothing
set Datei = nothing
strLen = len(strInhalt)
strEnd = right(strInhalt, 46)
strBeginn = left(strInhalt, strLen-46)
Application("menuBegin_string") = strBeginn
Application("menuEnd_string") = strEnd
%>

Jetzt kann ich jede ASP-Seite meines Webs so gestalten, um das komplette Menu und die Nav-Bar einzubinden.
appshow.asp (der komplette Code!!!)
<%@ Language=VBScript %>
<%Response.Write Application("menuBegin_string")%>
         Hier kann meinen weiteren ASP- oder HTML-Code schreiben.
<%Response.Write Application("menuEnd_string")%>

Nach dem Beenden des IIS-Dienstes werden, wie schon erwähnt, die Application-Variablen gelöscht. Deshalb müssen Sie diese Funktion in die Global.asa im Sub Application_OnStart einbinden(mit kleinen Änderungen). Dann werden die App-Var gleich nach dem Start der Webapplication bestimmt.
Wenn Sie das Menü verändern wollen, müssen Sie die appbeginn.txt verändern und anschließlich die appinizial.asp ausführen, um die App-Var. zu überschreiben.

Mit App-Var. kann ich nur eine ASP-Seiten-Struktur erzeugen. Da Application-Variablen eben nur von ASP abgerufen werden können.

Unten der komplette Code zum Testen!


Erfasst am: 28.03.2001 - Artikel-URL: http://www.devtrain.de/news.aspx?artnr=406
© Copyright 2003 ppedv AG - http://www.ppedv.de