19. august 2001 - 23:25Der er
19 kommentarer og 4 løsninger
Svær asp !! (tror jeg!) *g*
Hejsa alle...
Jeg har et lille problem med et asp-script.. Scriptet gør det, at den kigger i min mySQL database om der findes en record for i dag - og hvis der ikke gør (altså rs.eof) så opretter den dagens post! men, men, men... Jeg bruger Mircosoft´s stress-tool, hvor jeg indstiller den til at flere brugere samtidigt kører scriptet (Hvilket jo godt kan ske i daglig brug på en hjemmeside) - så kan den finde på at oprette imellem 1 og 10 poster!!!
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
mesterlars.. det er jo når flere brugere kører scriptet på samme tid.. så tjekker de jo alle i db´en på samme tid, og finder derfor ikke nogen post, og så opretter de alle sammen en post!
Jeg ved intet om mySQL, men du bør ku checke om den supporter transaktioner sådan her: --------------------------- intSupported = conn.properties(\"transaction DDL\")
If intSupported = 8 Then response.write \"transaktioner er understøttet af mySQL\" End If --------------
Kan man ikke blot gøre det i Application-objektet?
Jeg tænker specielt på at gøre det i global.asa:
Sub Application_OnStart \'det er kun den første besøgende der eksekverer dette LastUpdate=<find den sidste opdateringsdato i databasen> End Sub
Sub Session_OnStart Application.Lock If Application(\"LastUpdate\")+ <1 dag> <= now() Then \'vi er mindst en dag efter sidste opdatering <opdater database> Application(\"LastUpdate\")=<dato for opdatering> End If Application.UnLock End Sub
\'jeg antager at datoen i LastUpdate _ikke_ indeholder tt:mm:ss, hvis den gør skal de sættes til 00:00:00
zeptic: Jamen, det er en slags tæller system, så det er et script der skal overvåge måske 1000 forskelllige sider, som hver især har deres egen \"opdatering\" hver dag (Hvis de altså får nogle besøgende!)
dna
Idanielsen: Jeg mener, som jeg skriver: <snip> og hvis der ikke gør (altså rs.eof) så opretter den dagens post! </snip>
Du skal bare bruge disse løkker i den kode uden på disse koder::
SQL = \"........\"
til
set rs = nothing
Du skriver bare
Application.Lock \'Din kode og DEt der If rs.EOF Application.UnLock
dette gør at handlingen ikke kan udføres på samme tid på alle maskinerne og at det kun er den ene der gør handlingen først.... Når så den første har lavet recorden i databasen, har de andre samtidige brugere ingen mulighed for at oprette en ny post, da den er oprettet til den tid
cyigen.. jeg er ikke meget for at låse mine tabeller hver gang jeg skal bruge dem.. ?! Hvad så hvis der virkelig er mange der skal bruge dem... giver det ikke noget begrænsning ?
og du skal jo også tænke på at alle chat systemer som er lavet over ASP bruger samme system...
der får du jo heller ikke besvær med at snakke med de andre... Det sker så hurtigt at du fatter intet!
Synes godt om
Ny brugerNybegynder
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.