Dictionary på Applicationsnivå?

ASP

3 svar · 275 visningar · startad av Andreas L

Medlem sedan sep. 2000215 inlägg
Trådstart#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?

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

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

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! ;)

255 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)