Home All Groups Group Topic Archive Search About

Why IIS could not release DLL which have been used in ASP page.



Author
23 Feb 2005 7:29 PM
Bo
HI guys:
  I use vb create a DLL compoment(SessionManger.dll) which is used in
ASP page.

  in ASP page(test.asp) code:
  <%@ Language=VBScript %>
  <%response.buffer = true%>
<%
  dim Session
  set Session = server.CreateObject("SessionMgr.Session2")
  Session("UserName")="gc"
  ......

  Set Session=Nothing
%>

In IE, when launch test.asp  , and after a while close it, I founld
SessionManger.dll file is still being in the memory, and have to
restart IIS.

Author
23 Feb 2005 8:01 PM
Curt_C [MVP]
yeah, it maintains it till the application closes (sessions ends) which
doesnt happen when the browser closes.

--
Curt Christianson
Site & Scripts: http://www.Darkfalz.com
Blog: http://blog.Darkfalz.com


Show quote
"Bo" <huangbo***@gmail.com> wrote in message
news:7a7e94af.0502231129.1f153b69@posting.google.com...
> HI guys:
>  I use vb create a DLL compoment(SessionManger.dll) which is used in
> ASP page.
>
>  in ASP page(test.asp) code:
>  <%@ Language=VBScript %>
>  <%response.buffer = true%>
> <%
>  dim Session
>  set Session = server.CreateObject("SessionMgr.Session2")
>  Session("UserName")="gc"
>  ......
>
>  Set Session=Nothing
> %>
>
> In IE, when launch test.asp  , and after a while close it, I founld
> SessionManger.dll file is still being in the memory, and have to
> restart IIS.
Author
24 Feb 2005 12:40 PM
Patrice
For the sake of scalability.

It is kept in memory likely until the application ends or after a period of
time (I believe you can configure this in COM+) so that if you need it again
in the next few seconds, you don't have to reload the DLL...

Patrice

--

Show quote
"Bo" <huangbo***@gmail.com> a écrit dans le message de
news:7a7e94af.0502231129.1f153b69@posting.google.com...
> HI guys:
>   I use vb create a DLL compoment(SessionManger.dll) which is used in
> ASP page.
>
>   in ASP page(test.asp) code:
>   <%@ Language=VBScript %>
>   <%response.buffer = true%>
>  <%
>   dim Session
>   set Session = server.CreateObject("SessionMgr.Session2")
>   Session("UserName")="gc"
>   ......
>
>   Set Session=Nothing
> %>
>
>  In IE, when launch test.asp  , and after a while close it, I founld
> SessionManger.dll file is still being in the memory, and have to
> restart IIS.
Author
25 Feb 2005 11:30 AM
Phill. W
"Bo" <huangbo***@gmail.com> wrote in message
news:7a7e94af.0502231129.1f153b69@posting.google.com...
>   I use vb create a DLL compoment(SessionManger.dll)
.. . .
>  In IE, when launch test.asp, and after a while close it, I found
> SessionManger.dll file is still being in the memory, and have to
> restart IIS.

Yep.  That's just what IIS does.

Possible solutions -

Restart IIS, but you know that one already.

Change the Virtual Directory for your application so that is runs
"Highly Isolated"; that way you can [usually] unload just the
application, without having to take the whole web server down.

When developing your DLL, start it (with full-Compile) in the VB
IDE and let it get loaded by the web page.  With a /bit/ of luck, it
should stop on any breakpoints you care to put into your code
/and/ you can stop and restart the project as and when you need to.
It's only when the compiled DLL gets loaded that this trouble appears.

HTH,
    Phill  W.

AddThis Social Bookmark Button