[ASP] - Application objecten of instellingen bestand?

Pagina: 1
Acties:
  • 195 views sinds 30-01-2008
  • Reageer

  • Nutcaze
  • Registratie: Oktober 1999
  • Laatst online: 02-04 22:58
Mijn collega is momenteel bezig geinclude instellingenbestanden voor een applicatie waarin gewoon variabelen staan gedeclareerd te vervangen voor Application-objecten.

Voorbeeldje in het bestand instellingen.asp wat in elke pagina ge-include wordt staat de regel:

Achtergrondkleur = "#FFFFFF"

Deze regel zou je ook in global.asa kunnen declareren als:
Application("achtergrondkleur") = "#FFFFFF"

In je asp-pagina krijg je dus bijvoorbeeld:
<body bgcolor="<%=Achtergrondkleur %>">

of in het tweede geval:
<body bgcolor="<%=Application("achtergrondkleur")%>">

Mij lijkt de eerste manier vele malen beter, kan iemand daar meer over uitleggen?

Not all chemicals are bad. Without hydrogen or oxygen, for example, there would be no way to make water, a vital ingredient in beer.


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Ik denk dat het tweede geval iets beter is. De applicatievariabelen zullen sneller te benaderen zijn dan het includen van een bestandje. De hoeveelheid geheugen dat de variabelen innemen is verwaarloosbaar. Nadeel is dat je de applicatie moet herstarten als er iets wijzigt.

Waarom denk jij dat de eerste manier vele malen beter is?

Oops! Google Chrome could not find www.rijks%20museum.nl


  • Nutcaze
  • Registratie: Oktober 1999
  • Laatst online: 02-04 22:58
Ik heb wel eens gelezen dat een Sessie variabele ongeveer 20 kilobyte geheugen opvreet. Nou vermoed ik dat Application volgens hetzelfde principe werkt ongeveer en dus hetzelfde geheugen verbruikt.

Applicatie herstarten? En dat doe je dan door de IIS opnieuw op te starten? Je zou toch ook gewoon de application variabele overschrijven als dat al niet automatisch gaat?

Not all chemicals are bad. Without hydrogen or oxygen, for example, there would be no way to make water, a vital ingredient in beer.


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Nutcaze schreef op vrijdag 19 november 2004 @ 15:34:
Ik heb wel eens gelezen dat een Sessie variabele ongeveer 20 kilobyte geheugen opvreet. Nou vermoed ik dat Application volgens hetzelfde principe werkt ongeveer en dus hetzelfde geheugen verbruikt.

Applicatie herstarten? En dat doe je dan door de IIS opnieuw op te starten? Je zou toch ook gewoon de application variabele overschrijven als dat al niet automatisch gaat?
20kb voor wat je daar in opslaat is veel te veel, maar stel dat het wel waar was dat zou je nog maar 2Mb gebruiken als je 100 verschillende variabelen gebruikt. 2Mb is tegenwoordig niet veel meer, dus dat moet m.i. geen probleem zijn.

Ik denk idd dat de applicatie automatisch herstart wordt als global.asa overschreven wordt

Oops! Google Chrome could not find www.rijks%20museum.nl


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 18-05 15:53

Jaspertje

Max & Milo.. lief

P_de_B schreef op vrijdag 19 november 2004 @ 15:54:
[...]


20kb voor wat je daar in opslaat is veel te veel, maar stel dat het wel waar was dat zou je nog maar 2Mb gebruiken als je 100 verschillende variabelen gebruikt. 2Mb is tegenwoordig niet veel meer, dus dat moet m.i. geen probleem zijn.

Ik denk idd dat de applicatie automatisch herstart wordt als global.asa overschreven wordt
Maar als je dan 100 concurrent users hebt, dan ben je 200 MB kwijt... dan is dat misschien nog geen ramp, maar toch...

http://www.w3schools.com/asp/asp_globalasa.asp (nog ff als extra)

[ Voor 6% gewijzigd door Jaspertje op 19-11-2004 16:12 ]


  • Nutcaze
  • Registratie: Oktober 1999
  • Laatst online: 02-04 22:58
Nee geen 200 MB want het is een applicatie-object en wordt dus maar 1 keer gemaakt en niet voor elke user 1.

Maar goed wat kost het nou voor tijd om een variabele een waarde toe te kennen? Is dat niet veel simpeler voor zo'n pc?

Not all chemicals are bad. Without hydrogen or oxygen, for example, there would be no way to make water, a vital ingredient in beer.


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Jaspertje schreef op vrijdag 19 november 2004 @ 16:10:
[...]


Maar als je dan 100 concurrent users hebt, dan ben je 200 MB kwijt... dan is dat misschien nog geen ramp, maar toch...

http://www.w3schools.com/asp/asp_globalasa.asp (nog ff als extra)
Applicatievariabelen zijn voor alle bezoekers, sessievariabelen worden per bezoeker bijgehouden.

Oops! Google Chrome could not find www.rijks%20museum.nl


  • Stiegl
  • Registratie: Mei 2004
  • Laatst online: 19-05 21:09
Het tweede voorbeeld zal je server het minst belasten, wellicht dat het wel iets sneller is, maar dat is milliseconden werk.
Hoe dan ook volgens mij kun je hiervoor veel beter Cascading Style Sheets (CSS) gebruiken, die zijn hiervoor bedoeld.

Uit onderzoek is gebleken dat 85% van alle statistieken niet klopt


  • Nutcaze
  • Registratie: Oktober 1999
  • Laatst online: 02-04 22:58
Ja goed maar dat is ook een non-voorbeeld. Gaat meer om connectionstrings in op te slaan e.d.

Not all chemicals are bad. Without hydrogen or oxygen, for example, there would be no way to make water, a vital ingredient in beer.


  • Stiegl
  • Registratie: Mei 2004
  • Laatst online: 19-05 21:09
Het maakt voor de performance weinig uit. Misschien is security een issue? Het is veiliger om connectionstrings in application variabelen te zetten dan in een file. Wat betreft constanten e.d. is het wellicht handiger om een file te gebruiken met het oog op hergebruik. (Denk bijvoorbeeld aan een database constanten file)

Uit onderzoek is gebleken dat 85% van alle statistieken niet klopt


  • Nutcaze
  • Registratie: Oktober 1999
  • Laatst online: 02-04 22:58
The Cheese schreef op vrijdag 19 november 2004 @ 16:23:
Het maakt voor de performance weinig uit. Misschien is security een issue? Het is veiliger om connectionstrings in application variabelen te zetten dan in een file. Wat betreft constanten e.d. is het wellicht handiger om een file te gebruiken met het oog op hergebruik. (Denk bijvoorbeeld aan een database constanten file)
Application variabele worden toch ook in een file gezet: global.asa?! Beide files worden niet weergegeven door de browser omdat de webserver deze eerst parsed.

Feitelijk zijn het constanten die er in staan...

Not all chemicals are bad. Without hydrogen or oxygen, for example, there would be no way to make water, a vital ingredient in beer.


  • Stiegl
  • Registratie: Mei 2004
  • Laatst online: 19-05 21:09
Wat de global.asa betreft heb je gelijk, maar als je een include file gebruikt moet je zelf opletten dat de parser hem niet laat zien. Als de file uit platte tekst bestaat (in een .txt of een .inc bestand), en iemand zou de url intypen zal de browser hem gewoon tonen.

Uit onderzoek is gebleken dat 85% van alle statistieken niet klopt


  • Nutcaze
  • Registratie: Oktober 1999
  • Laatst online: 02-04 22:58
als je een txt file zou includen zou het niet werken. Dat bestand wordt dan gewoon letter voor letter naar de browser geschreven als je die include omdat ie niet geparsed wordt. Daarom heet ie ook instellingen.asp

Not all chemicals are bad. Without hydrogen or oxygen, for example, there would be no way to make water, a vital ingredient in beer.


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Nutcaze schreef op vrijdag 19 november 2004 @ 16:50:
als je een txt file zou includen zou het niet werken. Dat bestand wordt dan gewoon letter voor letter naar de browser geschreven als je die include omdat ie niet geparsed wordt. Daarom heet ie ook instellingen.asp
Dat is niet waar. Een include wordt gewoon in het .asp bestand geplakt voordat het bij de asp parser aankomt. Als daar <% tekens instaan worden die gewoon door de asp parser uitgevoerd. Je kunt het bestand dus best .inc oid noemen. Verstandig is het idd niet wegens de bezwaren die hierboven genoemd zijn.

Oops! Google Chrome could not find www.rijks%20museum.nl


  • jvdmeer
  • Registratie: April 2000
  • Nu online
Effe offtopic, maar volgens mij kan je:

code:
1
<body bgcolor="<%=Achtergrondkleur %>">


beter oplossen in een CSS.
Pagina: 1