Solved

Scripting.Dictionary in Application

Posted on 2001-08-01
10
298 Views
Last Modified: 2007-12-19
I'd like to create Scripting.Dictionary object in Application_OnStart() in order to get rid of endless calls to database for persistent enough information.
But it fails in accordance with MSDN docs and in fact.
Is there relaible way to create this object for Application?

TIA.
0
Comment
Question by:OMC2000
10 Comments
 
LVL 7

Expert Comment

by:John844
ID: 6341786
I would not even try to create this object an application level of scope.  You are begging for trouble if you do.

You might can store the contents of the recordsets in a multidimensional array using rs.getrows().

John
0
 
LVL 1

Expert Comment

by:pjtt
ID: 6341889
John844 is right. And this especially applies to the dictionary object, which good ol' Microsoft never quite got the threading model right for. That's one way to bring your server to its knees. Storing state information can be a pain sometimes, but there's a huge difference in performance between storing it in the database as opposed to an object in the application or multiple session variables.

Peter Tracey
Developer
http://www.25online.com/peter
0
 
LVL 2

Expert Comment

by:enkay022798
ID: 6342311
I disagree with not using Dictionery objects at the application level. We used it vastly in one of my previous projects and never ran into any serious problems.

FOr the threading model to work just go into the registry and set the threading model for the Dictionery object to "Both".

All the best !
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
LVL 15

Author Comment

by:OMC2000
ID: 6344409
enkay, the replacement of the "Apartment" with "Both" enables Scripting.Dictionary on Session level, but I still can't create this object on Application level.
What've I missed?
0
 
LVL 15

Author Comment

by:OMC2000
ID: 6344566
enkay, the replacement of the "Apartment" with "Both" enables Scripting.Dictionary on Session level, but I still can't create this object on Application level.
What've I missed?
0
 
LVL 2

Expert Comment

by:enkay022798
ID: 6344824
>>but I still can't create this object on Application level.

There shouldnt be a problem... where are you creating the object... what happens when it fails ? Do you get an error of any kind ?
0
 
LVL 15

Author Comment

by:OMC2000
ID: 6344959
The following code in global.asa:

<SCRIPT LANGUAGE="JavaScript" RUNAT="Server">
...
function Application_OnStart() {
  var c = Server.CreateObject("Scripting.Dictionary");
  Application("eee") = c; // line 92
...
}
...
</SCRIPT>

causes the following error on the first call of any page:

"Application object error 'ASP 0197 : 80004005'

Disallowed object use

/DutchSite/global.asa, line 92

Cannot add object with apartment model behavior to the application intrinsic object.
"
0
 
LVL 2

Accepted Solution

by:
enkay022798 earned 100 total points
ID: 6344976
Have you rebooted after changing the registry entry ? If the model is Both then why are you getting an error saying it is apartment threaded ?

Microsoft is sometimes strange ... any change to registry should be followed by a reboot.
0
 
LVL 15

Author Comment

by:OMC2000
ID: 6345101
Thanks a lot, it really required reboot. I forgot that specific for IIS and other MS Stuff.
0
 
LVL 2

Expert Comment

by:enkay022798
ID: 6345534
Glad you got it working :)
0

Featured Post

Active Directory Webinar

We all know we need to protect and secure our privileges, but where to start? Join Experts Exchange and ManageEngine on Tuesday, April 11, 2017 10:00 AM PDT to learn how to track and secure privileged users in Active Directory.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
ASP Classic - Load test 2 56
Hide row when retrieving data from database 6 69
Need help to rewrite script 3 96
Html CheckBox obtain Its Value 5 28
I have helped a lot of people on EE with their coding sources and have enjoyed near about every minute of it. Sometimes it can get a little tedious but it is always a challenge and the one thing that I always say is:  The Exchange of information …
I would like to start this tip/trick by saying Thank You, to all who said that this could not be done, as it forced me to make sure that it could be accomplished. :) To start, I want to make sure everyone understands the importance of utilizing p…
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question