RolandMedlem sedan mars 200139 inlägg
Någon som vet när man bör/måste använda sig av Application.Lock i aspfiler ?
Behöver man detta för att hindra så att bara en åt gången kan läsa från aspfilen eller är detta något man behöver vid hantering (skriva, läsa) från access tabeller eller när måste man använda Application.lock. ???
------------------
Tänkte inte på de'
GaskiMedlem sedan juni 2000325 inlägg
Om du ska ändra värde på en session bör man använda Application.Lock, det är nog det enda jag har använt det till.
------------------
<A HREF="http://www.gaski.net" TARGET=_blank>Datorer är inte smarta, de bara tror att de är det.</A>
VideMedlem sedan dec. 19996 094 inlägg
Sessionen är ju specifik för varje användare, så den behöver du inte låsa...
Däremot om du har en Application som du vet att många kommer att försöka ändra i hela tiden, så skall du använda .lock för att inte två skall kunna ändra samtidigt...
Ta gärna och läs min artikel om Application: http://www.webavis.nu/webavis/html/artiklar/asp/asp7.shtml
Mvh, Vide
------------------
Jourhavande @e SweQuake.com
ToonsterMedlem sedan feb. 20001 546 inlägg
Applocation lock ska du använda när du skall förändra värden på variablar, som kan påverka andra besökare.
Inte använda när, tex:
Om man använder EN application variabel för att räkna hur många besökare som finns på sidan just nu, så behöver du INTE använda application lock. Det är bara att öka application variabeln med 1 eller minska den med ett.
(vet att några kommer tycka jag har fel..)
Använda när, tex:
Man har FLERA application variablar som använs av många sessioner, tex. du har en array med 10 bokningsbara hyrbilar. För att sätta ett element i arrayen som bokad, måste den vara låst så att inte flera sessioner kan boka den samtidigt.
Första exemplet med räknare behöver inte låsas, för att alla sessioner som startas räknar upp en variabel. Det gör inget om två sessioner gör det samtidigt, det räknas ändå upp rätt.
Alltså behöver man bara öka/minska en variabels värde OAVSETT värdet, behövs ingen låsning.
Ska man däremot sätta ett variabel beroende på nuvarande värde, måste man låsa.
/T
------------------
"Den som väntar på någon som gått behöver inte vänta längre..."
[Redigerat av Toonster den 04 mar 2001]
RolandMedlem sedan mars 200139 inlägg
Tackar för de svar jag fått hittils jag skall fördjupa mig mera i dessa men vill fördjupa mig något.
Om jag då har ett litet asp system med visa/uppdatera av några access-tabeller, behöver asp-filerna då låsas mellan användarna för att hanteringen av access skall funka smärtfritt?
------------------
Tänkte inte på de'
VideMedlem sedan dec. 19996 094 inlägg
Det beror på vad du lagrar i Application... Om det är ett statistkt värde så behöver du inte det... Finns det chans att flera användera samtidigt kommer att förändra i den, så ja...
------------------
Jourhavande @e SweQuake.com
ToonsterMedlem sedan feb. 20001 546 inlägg
Är det information i databasen som
exklusivt ska ändras, så lås posten.
/T
------------------
"Den som väntar på någon som gått behöver inte vänta längre..."
RolandMedlem sedan mars 200139 inlägg
Tror jag fått svar på min fråga. Tackar för allas intresse. Avser att låsa access-posterna vid all uppdatering, men själva användandet av övrig aspkod verkar ej behövas skyddas.
mvh Roland
------------------
Tänkte inte på de'
EclipseMedlem sedan juli 20003 741 inlägg
Om jag då har ett litet asp system med visa/uppdatera av några access-tabeller, behöver asp-filerna då låsas mellan användarna för att hanteringen av access skall funka smärtfritt?
Du skriver att din webbplats är liten och då finns det ingen anledning till oro.
Det är ju verkligen inte troligt att två användare skulle trycka okej den tid det tar att öppna, skriva/uppdatera och stänga databasen. Vi snackar 0.005 sekunder... typ.
------------------
Never underestimate your opponents.
RolandMedlem sedan mars 200139 inlägg
Nja inte riktigt så liten. Den är för motsvarande en normal gammal "hederlig" nätverkslösning men nu i webform. Alltså med flera samtidiga navändare som läser och updaterar typ vanliga interna nätverksapplikationer tex ordersystem mm) Om nu två användare samtidigt (ibland kommer Murphys Law in, du vet han om jävl.. sakers jävl...het) och då kan två tokar trycka samtidigt. Med multippla processer i servern kan alltså inte bara postlåsning uppstå utan frågan är vad mer elände måste man hantera i webvärlden. Mycket av det jag beskrev hanteras/eller inte hanteras bra i vanliga datorniljöer allt från stora burkar från IBM till små unixbaserade burkar. Postlåsning har jag inte sett någonting alls om på nätets konferanser utan alla "håller för öronen" och kör bara. Men tillbaka till ämnet, behöver man bry sig om att låsa asp-koden med variabler och dyligt eller sköter servern så att varje användare får en egen instans av kod och variabelarea ???
------------------
Tänkte inte på de'
VideMedlem sedan dec. 19996 094 inlägg
sköter servern så att varje användare får en egen instans av kod och variabelarea ???
Ja!
Enda undantaget som vi pratar om här ovan är serverobjektet 'Application', den delar du med alla andra användare på webbplatsen... därav, om man har ett ett system som användare absolut inte får ändra på något samtidigt, så kan en application användas och låsas vid tillfälle...
Mvh, Vide
------------------
Jourhavande @e SweQuake.com
ToonsterMedlem sedan feb. 20001 546 inlägg
Ska man låsa en post i en databas, ska man inte använda application.lock()
då ska man använda databasens funktioner för detta.
application.lock() har man när man ska låsa applikations variabler eller objekt.
Helt onödigt att låsa en applikation, bara för att låsa databasen
/T
------------------
"Den som väntar på någon som gått behöver inte vänta längre..."