Följande kod kommer alltså att köras varje gång någon tillträder dessa sidor, vilket känns lite onödigt. Dessa variablar måste väl gå att spara globalt på något sätt eller hur ska man göra. global.asa känns ju som den effektivaste lösningen, men jag kan dock inte använda den varianten. Kanske kan man använda sig utav "application" vad det nu innebär? Hur skulle du göra?
Jag hade använt mig av application-objekt, och en liten ifsats-runt.
if application("Settings_URL") = "" then ' bara en koll om någon applikationsvariabel finns.
SQL = "SELECT * FROM Settings"
Set RS = myConn.Execute(SQL)
Application("Settings_URL") = RS("sURL")
Application("Settings_SiteName") = RS("sSiteName")
Application("Settings_ValidFileType") = RS("sValidFileType")
Application("Settings_MaxFileSize") = RS("sMaxFileSize")
Application("Settings_LogoURL") = RS("sLogoURL")
Application("Settings_CopyrightText") = RS("sCopyRightText")
RS.Close
Set RS = Nothing
End if
Tack för ditt svar känns som en bra lösning men:
Om man ändrar i settings.asp, när visas ändringen för andra användare? och behövs inte "Application Lock, UnLock"?
Om man ändrar i settings.asp, när visas ändringen för andra användare?
När webbtjänsten startas om. Du kan ju också, när du ändrat någon applicationvariabel kalla på en sida som läser in allt på nytt. Antingen en ny sida med samma kod, eller lägg till ett villkor i if-satsen:
if application("Settings_URL") = "" or request.querystring("doitagain") <> "" then
Släng bara på en querystring när du kallar på någon sida då.
och behövs inte "Application Lock, UnLock"?
Jo, om flera användare kan sätta om värdet samtidigt kan du använda .Lock och .Unlock. Men, nej, det behövs inte. Jag använder det aldrig.
253 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e