Home All Groups Group Topic Archive Search About

IIS Memory usage increases when calling an ActiveX Proxy from ASP

Author
20 Jan 2006 3:40 PM
Mauro
Hello,

We are using a Proxy DLL (ActiveX) in a large Microsoft ASP.NET (VB.NET)
Application in order to connect an external system (Progress)
This ASP.NET application has been used by the users for almost two years
without problems.
But now we have noticed that when an user of the ASP.NET application makes a
call to a procedure through the Proxy and the Proxy takes a long time to
answer to this call, the memory usage of the ASP.NET server increases while
the others users are using the same ASP.NET application. When this call ends
the memory is released. 
But if this call doesn't end before the memory is entirely consumed, we get
an ASP.NET "Out of Memory" error and the ASP.NET application crashes under
the Windows Operating System.
The ASP.NET Application is installed in an Microsoft IIS 6.0 Application
Pool. We have verified that the W3WP.EXE (the Worker Process for the
Application Pool) increases its memory usage while ONE of the many connection
to the proxy is waiting for an answer (the .r procedure is in deadlock or the
execution takes a long time). 

In the .NET Application the calls to every external procedure are developed
using the same flow:
1) The Proxy object is created (lobjProxy = New Proxy...)
2) The connection  is opened (lobjProxy.OC_Connect(...))  
3) The Procedure is called (lobjProxy.call...)
4) Reads the output paramters.
5) The passed result tables are closed, released and destroyed.
6) The connection to the external system is closed
(lobjProxy.OC_Release(...))  
7) The Proxy object is released and destroyed.

Notes:
- We are not passing  tables with large row number to/from client.
- The Proxy is used in a .NET DLL (Communication Layer) and its not directly
referenced by the ASP.NET (GUI Layer).
- In the Web Forms of the ASP.NET application we have added the option
"aspcompat=true". If we don't add this option we get the error
"System.Runtime.InteropServices.COMException (0x80040111): ClassFactory
cannot supply requested class...".

- Our Windows Cluster Server Configuration is:
Microsoft Windows Server 2003 Enterprise
IIS 6.0
Microsoft .NET Framework 1.1

Any suggestion about this problem?

TIA.
    Mauro

AddThis Social Bookmark Button