---
title: "Kolla efter dubletter i en application"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/13118-kolla-efter-dubletter-i-en-application"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "erka"
published: "2001-12-07T14:03:00.000Z"
updated: "2001-12-10T13:02:00.000Z"
replies: 7
views: 226
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/13118-kolla-efter-dubletter-i-en-application"
---

# Kolla efter dubletter i en application

## #1 — erka, 2001-12-07T14:03Z

Hej jag pysslar med ett script som delvis ligger i global.asa och visar vilka som är inloggade på sidan just nu (användarnamn). I inloggningsscriptet sätter jag följande

```
Session("username") = rs("UserName")
				strUserName = Session("Username")
				
				Application.Lock
				Application("Online")= Application("Online") &"*" & strUserName 
				Application.Unlock
```

Problemet är att global.asa plockar bort en användare om man inte har gjort något på 20 minuter, och jag kan inte sänka denna tid då jag verkligen behöver uppgifterna. Men jag vill undvika att man får dubletter i application, om en användare loggar in medans hans namn ligger kvar i application. Detta ska jag ju göra precis innan jag sätter igång koden jag visade ovan. Det kan ju hända att man stänger ner fönstret utan att trycka på logga ut knappen och en namn inte försvinner försn 20 minuter och man loggar in igen efter 10 minuter.

Jag kan ju lösa det genom att göra en koll på default.asp (där man loggar in) och skicka han till startsidan direkt och hoppa över login om han har sessionen kvar men jag vill lösa det 100% säkert i koden.

Någon som vet hur man ska bära sig åt ? slänga hela application i en sträng och köra en instr ? hur gör man det ? tacksam

Permalänk: https://www.webforum.nu/p/13118

## #2 — erka, 2001-12-07T14:16Z

Hej dumma dumma mig var ju bara att slänga den i en variabel (application då) och sen en vanlig Instr på den. Jag testade det med skrev Instr fel :)

```
strOnline = Application("Online")
If InStr(strOnline,strUserName) Then
```

Nu har jag en fråga till. Exakt vad gör Application.Lock ?

Permalänk: https://www.webforum.nu/p/300384

## #3 — casca, 2001-12-07T14:23Z

> Exakt vad gör Application.Lock ?

 Den "låser" värdet i Application-variabeln tillfälligt, så att det inte kan ändras av någon annan.

Permalänk: https://www.webforum.nu/p/300385

## #4 — LarsG, 2001-12-07T14:46Z

Nej, din koll duger inte.

Om du har lagrat namnet svenolof och du försöker lägga dit olof så kommer du att tycka att han redan fínns.

Permalänk: https://www.webforum.nu/p/300386

## #5 — erka, 2001-12-07T15:13Z

LarsG, hur löser jag det då ??? :)

Permalänk: https://www.webforum.nu/p/300387

## #6 — LarsG, 2001-12-07T15:32Z

Hur ser strOnline ut? Om det var det vi höll på med igår så var det "/" mellan varje bit eller?

```
if instr("/" & strOnline "/" , "/" &  strUserName & "/") > 0 then
```

Permalänk: https://www.webforum.nu/p/300388

## #7 — erka, 2001-12-07T15:46Z

Tack Lars, den ser ut på följande sätt

\*Namn\*Namn\*Namn\*Namn

Jag tog bort UserId från application för jag kom på att jag inte behövde det.

Nu till ett nytt problem

I global.asa

```
Sub Session_OnEnd
	Application.Lock
	Application("Antal") = Application("Antal") - 1
	strUserName = Session("UserName")
	If strUserName <>"" and Application("Online")<>"" then
		strTmp=Application("Online")
		IntId =instr(strTmp,"*" & strUserName)
		strTmp2=left(strTmp,IntId-1) & right(strTmp,len(strTmp)-IntId-len(strUserName))
		Application("Online")=strTmp2
	End If
Application.Unlock
```

Denna verkar inte fungera, jag provade att logga in med ett anv. namn i ett fönster, sen loggade jag in med ett annat anv. namn i ett annat fönster. Den enda som försvinner efter 5 minuter (satta ner för att testa) är den som jag loggade in med sisst. Ersätter jag sessionvärdet med ett nytt när jag loggar in på två olika konton från samma dator?

Eller är det jag som tänkt helt åt helvete fel. Tack för hjälpen!

Permalänk: https://www.webforum.nu/p/300389

## #8 — erka, 2001-12-10T13:02Z

Nu har jag tokfelsökt och pillat med global.asa i minst 3 dagar och det fungerar ändå inte. Den plockar inte ut en ur applicationen om sessionen har gått ut för användare \*\*riva hår\*\*

Koden ser ut som ovan då jag anser den vara rätt :) Någon vänligt sinnad person som har något att tillägga innan jag eldar upp min IIS

Permalänk: https://www.webforum.nu/p/300390

---

Tråden på webben: https://www.webforum.nu/amne/asp/13118-kolla-efter-dubletter-i-en-application
