Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. How to keep a C++ com dll in memory (repost)

How to keep a C++ com dll in memory (repost)

Scheduled Pinned Locked Moved C / C++ / MFC
c++comwindows-adminperformance
3 Posts 2 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    Anonymously
    wrote on last edited by
    #1

    I have a com dll written in C++ which is used in asp applications. The dll contains only one com object. There are static (global to the process) data objects within this dll. Obviously, I only want to initialize these static objects when the dll is first loaded. However, IIS seems to be reloading my dll everytime the com object is created and used in an asp page. P.S. Already tried the trick of returning S_FALSE in DllCanUnloadNow, doesn't really work. For VB6 com dll, you can set a project property "Retained in memory" which is exactly what I need. Don't know if the same can be done with VC++ com dll.

    D 1 Reply Last reply
    0
    • A Anonymously

      I have a com dll written in C++ which is used in asp applications. The dll contains only one com object. There are static (global to the process) data objects within this dll. Obviously, I only want to initialize these static objects when the dll is first loaded. However, IIS seems to be reloading my dll everytime the com object is created and used in an asp page. P.S. Already tried the trick of returning S_FALSE in DllCanUnloadNow, doesn't really work. For VB6 com dll, you can set a project property "Retained in memory" which is exactly what I need. Don't know if the same can be done with VC++ com dll.

      D Offline
      D Offline
      Daniel Turini
      wrote on last edited by
      #2

      Anonymously wrote: I have a com dll written in C++ which is used in asp applications. The dll contains only one com object. There are static (global to the process) data objects within this dll. Obviously, I only want to initialize these static objects when the dll is first loaded. However, IIS seems to be reloading my dll everytime the com object is created and used in an asp page. Try running it inside a COM+ application or MTS package: create a new COM+ Application, drag and drop the dll inside it and in the properties configure the application to never shut down.


      It's not the fall that kills you: it's the sudden stop - Down by Law, Jim Jamursch (1986)

      A 1 Reply Last reply
      0
      • D Daniel Turini

        Anonymously wrote: I have a com dll written in C++ which is used in asp applications. The dll contains only one com object. There are static (global to the process) data objects within this dll. Obviously, I only want to initialize these static objects when the dll is first loaded. However, IIS seems to be reloading my dll everytime the com object is created and used in an asp page. Try running it inside a COM+ application or MTS package: create a new COM+ Application, drag and drop the dll inside it and in the properties configure the application to never shut down.


        It's not the fall that kills you: it's the sudden stop - Down by Law, Jim Jamursch (1986)

        A Offline
        A Offline
        Anonymously
        wrote on last edited by
        #3

        Sorry, COM+ is not allowed for this specific project. I am just wondering what is exactly the "retained in memory" property of VB6 com dll and why there is no such thing for VC++ com dll.

        1 Reply Last reply
        0
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        • Login

        • Don't have an account? Register

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • World
        • Users
        • Groups