Denne artikel beskriver hvordan man kan lægge sine basale indstillinger til sitet ud i en ekstern fil (f.eks. tekst eller XML), for at fjerne disse fra koden rundt omkring i sitets filer og samtidig også fjerne afhængigheden af nogle include-filer, som ellers ofte skal "slæbes" med rundt på alle sider. Denne metode kræver imidlertid at din udbyder tillader at application-objektet benyttes til at gemme værdier, ellers bliver metoden hurtigt for RAM-krævende (med større mængder indstillinger og brugere).

Metoden tager udgangspunkt i global.asa og adgang til at benytte application-objektet som dataholder.

En helt simpel løsning er at lægge indstillingerne i en tekstfil et sted hvor websitet kan få fat i den (helst udenfor sitets rod, så man ikke risikerer at en eller anden bare downloader filen via browseren). Formatet kunne f.eks. være som følger:

baggrundsfarve=#2f9fbf
forgrundsfarve=#ffffff

Ovenstående er naturligvis meget forsimplet, men princippet er det samme uanset hvormange værdier man ønsker at lægge i denne fil.

Fidusen kommer så til overfladen i global.asa, hvor man indlæser denne fil og lægger hver af værdierne i application-objektet, så de kan tilgås derfra rundt omkring på sitet. Det kan se ud som følger:

<script language="vbscript" runat="server">
' ================================================================================
' ================================================================================
Sub Application_OnStart()
  dim fso, f, alltext, eqp, key, value, ln, aLines
  
  on error resume next
  
  set fso = Server.CreateObject("Scripting.FileSystemObject")
  set f = fso.OpenTextFile("c:\inetpub\settings.txt", 1, true)
  alltext = f.ReadAll()
  f.close
  set f = nothing
  set fso = nothing
  
  aLines = Split(alltext, vbCrLf)
  for each ln in aLines
    eqp = instr(ln, "=")
    if eqp > 0 then
      key = left(ln, eqp - 1)
      value = mid(ln, eqp + 1)
      Application.Contents(key) = value
    end if
  next
  
  err.Clear
  on error goto 0
End Sub
</script>

Ovenstående læser værdierne og lægger dem i application til senere brug på sitet.

Man kan lægge mange ting i application, så det er bare et spørgsmål om at gennemskue hvilke værdier der egner sig til at ligge der og så få dem smidt i filen med indstillinger.

Fordelen ved at have indstillingerne liggende i en ekstern fil, er bla. at man slipper for at rette kode, hvis man ønsker at ændre i nogle basale indstillinger. Dog skal man være opmærksom på at indstillinger som gemmes i application først opfriskes, når application startes næste gang, dvs. man på et travlt site kan risikere at de ikke bliver opfrisket i lang tid. I sådanne tilfælde kan man have en side, hvor administrator har mulighed for at se og opfriske indstillingerne. En administratorside som den vil man blive glad for i længden! :D

 
Sidst opdateret: 10-09-2008 19:02:23
Tilmeld link | Tilføj Link | Tilføj Link | @-begynder
Erklæring om beskyttelse af personlige oplysninger

nope.dk - Danmarks Website Chart