Avatar billede obhat Nybegynder
10. august 2005 - 16:23 Der er 14 kommentarer og
1 løsning

Reset data kl. 24.00

Hmm hvordan reseter man data en gange i daget eks. kl. 24.00?
Avatar billede busschou Praktikant
10. august 2005 - 18:28 #1
Det kan du vist kun hvis du har speciel adgang til at køre jobs på serveren
Sådanne kender jeg intet til :o(
--
Men du kan i global.asa hver gang en bruger går ind på dit site tjekke hvor lang tid der er gået, og hvis der er gået mindst 24 timer så resetter den
Avatar billede busschou Praktikant
10. august 2005 - 18:32 #2
måske nogen kender til at køre jobs på serveren :o)
Men ellers så vil jeg foreslå global.asa
http://www.eksperten.dk/artikler/752
eksempel på det i global.asa som pseudo kode kunne være
--
sub application_onstart
  application("last_reset") = Now()
end sub

sub session_onstart
  if datediff("h",application("last_reset"),now()) >= 24 then
    //lav en reset som ønsket og opdater tidspunktet
    application.lock
    application("last_reset") = Now()
    application.unlock
  end if
end sub
Avatar billede softspot Forsker
10. august 2005 - 19:03 #3
Du kan måske løse det ved at pakke det ind i en klasse som checker for resetbehov (a la det som busschou forslår). Nogenlunde således:

class dataTimedCache
  private resetTime
  private localDataObject

  private sub class_initialize()
    resetTime = now
  end sub

  public property get dataObject
    if datediff("h", resetTime, now) >= 24 then
      ' lav en reset som ønsket og opdater tidspunktet
      application.lock
      resetTime = now
      ' og gør hvad der ellers skal gøres for at resette objektet
      application.unlock
    end if
    'TODO: check data skal resettes - se busschous kode!
    set dataObject = localDataObject
  end property

  public property set dataObject(value)
    resetTime = now
    set localDataObject = value
  end property
end class

Dette objekt skal så svøbes omkring det objekt du ønsker at gemme og opdatere automatisk.

Eksempel (initialisering):

set myObj = new dataTimedCache
set myObj.dataObject = detObjecktSomSkalResettesHver24Time
application.lock
set application("timedObject") = myObj
application.unlock


Eksempel (brug):

Response.Write(application("timedObject").dataObject.enEllerAndenEgenskabPåObjektet)
Avatar billede obhat Nybegynder
10. august 2005 - 19:24 #4
Det er måske ikke helt det jeg tænkte på, nærmest når datoen registreres at være gået fra eks. 10.08.2005 til 11.08.2005 så reset kolonne data = 0
Kan evt. kaldes af en hvilken somhelst bruger.
Avatar billede softspot Forsker
10. august 2005 - 19:40 #5
OK, men man kan sige at med mindre det er vigtigt af andre grunde end at brugeren efterfølgende skal kunne se data på grundlag af dit reset, ville dette vel opfylde dit behov. Jeg er ikke ude på at oversælge idéen, men bare ude efter en forståelse af om behovet er nulstilling på et bestemt tidspunkt eller nulstilling, så den næste bruger der tilgår data, får "ren numse at trutte i" (så at sige)...
Avatar billede busschou Praktikant
10. august 2005 - 19:51 #6
obhat det kan du jo sagtens bruge mit eksempel til, du kan bare istedet tjekke paa dagen
--
sub application_onstart
  application("last_reset") = Day(Now())
end sub

sub session_onstart
  if Day(Now()) <> application("last_set") then
    //lav en reset som ønsket og opdater tidspunktet
    application.lock
    application("last_reset") = Day(Now())
    application.unlock
  end if
end sub
....
Men du kan ikke undgaa at det altsaa foerst opdateres naar en bruger gaar ind paa din side foerste gang i den nye dag
Avatar billede busschou Praktikant
10. august 2005 - 19:52 #7
men det vil til gengaeld blive resettet saa snart den foerste bruger gaar ind paa siden den nye dag!
Avatar billede obhat Nybegynder
10. august 2005 - 20:33 #8
Jamen skal sub'en bare ligge i default?
Avatar billede busschou Praktikant
10. august 2005 - 20:48 #9
nej den skal ligge i global.asa som skal ligge i roden af dit site :o)
Sub´en er jo ikke en almindelig sub, den registrerer en event når der starter en ny session og kører af sig selv
Avatar billede obhat Nybegynder
10. august 2005 - 20:54 #10
Ok, men i forbindelse med resetet, skal jeg ha resat en kolonne i min database og det kan jeg ikke rigtig se hvordan med global.asa
Avatar billede busschou Praktikant
10. august 2005 - 21:34 #11
du kan jo prøve at læse min artikkel som før nævnt hvor jeg har et eksempel på opdatering af databasen :o)
Det burde være til at rette til til dit brug
Avatar billede softspot Forsker
10. august 2005 - 21:57 #12
...eller du kan bruge min løsning og bare tilføje opdatering i databasen i property get-rutinen ;)
Avatar billede obhat Nybegynder
10. august 2005 - 22:24 #13
Fint nok.
Jeg er nød til at gå fra det for i dag, vender tilbage i morgen...
:)
Avatar billede obhat Nybegynder
25. august 2005 - 10:03 #14
Har droppet dette, så jeg lukker med et par points.
Avatar billede busschou Praktikant
25. august 2005 - 11:17 #15
ok ved ikke om jeg fortjener lidt, men her er i al fald et svar :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester