Objects set to nothing

Ask a Question related to ASP, Design and Development.

  1. #1

    Default Objects set to nothing

    Hi,
    anyone have better information on IIS 5.0 memory behaviour
    on setting objects to nothing?

    Connections and recordsets of course should be set to
    nothing, but should for example XMLNode object be set to
    nothing?

    Thanks, Tony

    Tony Guest

  2. Similar Questions and Discussions

    1. Updating Objects in Objects in the Library
      We just received an InDesign job from a client and they provided templates, fonts, art, and a library. When I drag a library item onto a page I get a...
    2. Newbie Question? Aligning Objects to other Objects?
      Hi, I think this a newbie question and I will try to explain it as best as possible! I have a hollow circle (no fill, or stroke) and x amount of...
    3. Storing Objects/Arrays in Stored Objects
      Hello All, I recently came across a very frustrating issue when trying to create and store arrays within objects in a Shared object. It took me...
    4. Accessing objects of other objects?
      Hi, I have the following problem: On page "A" of my homepage I create an object "1" which itself creates an object "2". Now how can I access...
    5. is this an acceptable way of passing objects to other objects?
      I've read that objects should always be passed by reference to other objects. I've also read that future versions of PHP may not support runtime...
  3. #2

    Default Re: Objects set to nothing

    Setting to Nothing is a bit of a misnomer in that as soon as the current ASP
    page goes out of scope (eg. has completed processing) then all objects are
    contacted and told to destroy themselves anyway.
    It is true that in a stateful environment such as a classic VB application
    that not setting global and module level objects to Nothing can have an
    adverse effect on memory usage since those objects may remain in scope (and
    thus in memory) for a lot longer than anticipated.
    I have seen a classic example of this in my own application working with a
    mail archive (1000+ mails). I enumerated them to a collection and held a
    mail COM object for each. I forgot to set the object to nothing as I was
    running through the collection collecting the header information resulting
    in a dramatic rise in memory to over 500Mb. When I realised the mistake and
    then set each mail object to nothing after I had finished with it then the
    memory remained static at < 2Mb.
    However, in ASP, only application and session objects [not strictly true -
    see later] persist beyond the scope of a single ASP page being processed and
    so the issue of 'managing' the objects lifetime becomes moot....as the page
    completes then all objects go out of scope automatically.
    There is a situation in which setting to Nothing must be done [in fact you
    need to call the relevant .Quit method first] ... when working with
    ActivexEXE Servers. These objects create out of process copies of certain
    public classes that can be made to persist outside the scope of a page. This
    is due to the fact that the class object is referenced by the ActivexEXE
    Server, not the ASP page. A good example is instantiating an instance of
    Excel in an ASP page and not calling .Quit on it before the page completes
    ..... Excel will remain active and in memory but divorced from all efforts to
    communicate with it. Excel is in fact an ActivexEXE Server as is Word, etc.
    That's one of the main issues with trying to use Excel server-side in a web
    environment, it has the capability to eat up all the server memory if you
    get it wrong.

    My apologies if I get anything slightly mis-quoted, it's a bit of a
    contentious subject with IIS and I'm not an MVP (although I'd like to be at
    some point if I can ever find the time to do the exams etc.).

    Hope this helps,

    Chris.

    "Tony" <anonymous@discussions.microsoft.com> wrote in message
    news:022701c393b8$96acfa10$a001280a@phx.gbl...
    Hi,
    anyone have better information on IIS 5.0 memory behaviour
    on setting objects to nothing?

    Connections and recordsets of course should be set to
    nothing, but should for example XMLNode object be set to
    nothing?

    Thanks, Tony


    Chris Barber Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139