webForumDet fria alternativet

Dictionary på Applicationsnivå?

ASP

3 svar · 262 visningar · startad av Andreas L

Medlem sedan sep. 2000215 inlägg
Frågan#1

Hej på er!

Jag vet att jag läst i boken("ASP-for dummies") att man skall kunna skapa DictionaryObjekt på Applikationsnivå.

Det ska fungera på något sätt, för jag har provat det innan på en NT4.
Jag har dock aldrig fått det att fungera på någon annan server än just den NT4:an(som inte var min egna) och Serverns administratörer säger att de inte gjort något speciellt med den.

Jag har själv provat både på NT4 och NT5, men icket fått det att fungera. Jag tror mig ha läst att det skall bero på någon systeminställning, men jag kan inte komma på vad/vilken.
Scriptet?
<%
Application.Lock
Set Application("test") = CreateObject("Scripting.Dictionary")
Application.Unlock
%>

Flera av er känner säkert igen exemplet och har sett det i den boken som jag nämnde. Men är det någon som vet varför jag alltid får felmeddelandet;

"Tillämpningsobjekt, ASP 0197 (0x80004005)
Det går inte att lägga till objekt med fristående modellbeteende till objektet som är inkapslat i tillämpningsprogrammet."

Att det är fel fattar jag oxå, men jag vet som sagt att det skall fungera eftersom jag provat det innan.

Snälla, hjälp mig någon!
Kanske har någon en fungerande kodsnutt?

------------------
"Life's a bitch who sucks... then you marry one who doesn't"

Medlem sedan sep. 2000215 inlägg
#2

Hittade svaret själv...

För andra som ställer samma fråga;
http://www.learnasp.com/advice/threadsafe.asp

------------------
"Life's a bitch who sucks... then you marry one who doesn't"

Medlem sedan dec. 19998 577 inlägg
#3

Lösningen är väl så enkel att man inte skall modifiera objektet när den ligger i en Application... Utan att du modifierar ett helt vanligt objekt som du sedan "ger" till en Application... Sedan när du skall modifiera igen så "hämtar du ner" objektet till ett lokalt objekt igen...

Mvh, Vide

------------------
Kom hem till mig...

Medlem sedan sep. 2000215 inlägg
#4

Problemet handlade om Trådningsmodellen för DictionaryObjektet(FreeThreaded).

Detta gör att man inte kan flytta upp DictionaryObjektet på Applikationsnivå. Det går dock i systemet att ändra trådmodellen till "Apartment" och då kan man hantera objektet på App-nivå.
Tror dock inte att det fungerar på W2k

Mer finns att läsa under den länk som jag postade i det tidigare inlägget! ;)

------------------
"Life's a bitch who sucks... then you marry one who doesn't"

[Redigerat av Andreas L den 08 okt 2000]

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