webForumDet fria alternativet

Prestandafråga

ASP

4 svar · 466 visningar · startad av dahlgren

Medlem sedan aug. 20011 946 inlägg
Frågan#1

Jag undrar vilket som ger bäst prestanda. Jag håller på att gygga en sida tillamans med ett administrationssystem. Det finns 4 olika grupper av personer som kan tänkas logga in: Användare, Styrelsen, Redakör och Administratör. De tre sista kommer antagligen var kombinerade på ett par användare.

Nu till frågan. Bör jag när det loggas in sätta en session för varje funktion som jag alltid kollar mot när jag vill ha reda på personens behörighet eller är det bättre att kolla direkt mot databasen?

Medlem sedan sep. 20026 425 inlägg
#2

I så fall skulle jag tro att du ska köra med en session som du kollar EN gång mot med databasen. Databashantering är det mest prestandaslukande i ASP/VBScript. Och sen har du väl läst min ASP help @ Dileno? ;)
Använd GetRows(). :)

Medlem sedan dec. 19998 577 inlägg
#3

Sätt en session där du sparar ett bit-mönster:
1: Admin
2: Redaktör
4: Styrelse
8: Användare

Då kan du ge en inloggad t.ex värdet 6, vilket betyder att denne är både redaktör och styrelse.

Medlem sedan aug. 20011 946 inlägg
#4

Vide det där låter intressant, fårstår inte exakt hur jag ska gå till väga med att sätta värdet men jag får söka. Har du nån ide var jag läsa mer om detta?

Medlem sedan dec. 19998 577 inlägg
#5

Du kör en helt vanlig if-sats förslagsvis i en funktion:

function IsAdmin( intBit )
  IsAdmin = ( 1 AND intBit )
end function

Förslagsvis gör du konstanter av de olika värdena:
const adAdmin = 1
const adUser = 8
o.s.v

function IsAdmin( intBit )
  IsAdmin = ( adAdmin AND intBit )
end function

För att bestämma värdet en användare skall ha? Plusa dom attribut du vill att användaren skall ha, så har du ditt tal. Vill du att en användare skall ha alla dom ovanstående attributen så blir det siffran 15. :)

261 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)