ASPNL logo (1 kb)
dinsdag 13 mei 2008




Microsoft MVP

.NET Codewise Community
<< vorige | overzicht | volgende >>

Application object

In de les over variabelen hebben we kunnen zien hoe we variabelen binnen een pagina kunnen gebruiken. Helaas zijn die variabelen niet buiten een pagina beschikbaar en dus niet geschikt om gegevens te delen tussen pagina's. Als we dat willen, dan moeten we gebruik maken van het Application object. Dit object maakt het mogelijk gegevens te delen tussen alle pagina's in een (IIS) applicatie.

Met het Application object kunnen we bijvoorbeeld een teller maken die telt hoe vaak een pagina bezocht is, maar ook kunnen we bijvoorbeeld gegevens over de database koppeling, of andere waarden die we door de hele site nodig hebben, opslaan. We laten zien hoe een teller eruit ziet (ververs de pagina om het resultaat te zien):

appvar1.asp
<%
Option Explicit
%>
<HTML>
<BODY>
<%
Application("Teller") = Application("Teller") + 1
Response.Write Application("Teller")
%>
</BODY>
</HTML>


Stel dat de bovenstaande code tegelijk door twee verschillende mensen bekeken zou worden. Doordat ASP niet alle scripts meteen helemaal afmaakt, maar soms de uitvoering kan stoppen om even een ander script (deels) uit te voeren, zou het zo kunnen zijn dat de waarde die je ziet niet klopt. De waarde zou namelijk opgehoogd kunnen zijn, daarna opgehoogd kunnen zijn door de andere gebruiker en daarna pas in jouw browser geschreven worden. Nou is dit bij een teller niet zo belangrijk, maar het kan zijn dat het wel om informatie gaat die belangrijk is. In dat geval kun je de Lock methode gebruiken om ervoor te zorgen dat er geen andere gebruikers zijn die tegelijk toegang krijgen tot de waardes in het Application object. Omdat dit vertragend werkt moet dit alleen gedaan worden als het nodig is, waarna zo snel mogelijk de Unlock methode wordt gebruikt:
appvar2.asp
<%
Option Explicit
%>
<HTML>
<BODY>
<%
Application.Lock
Application("Teller") = Application("Teller") + 1
Response.Write Application("Teller")
Application.Unlock
%>
</BODY>
</HTML>


Het Application object heeft nog meer mogelijkheden. Gezien deze erg weinig gebruikt worden, zijn die mogelijkheden geen onderdeel van deze lessen.

<< vorige | ^ naar boven | overzicht | volgende >>
copyright 2000-2007 ASPNL