Help: Memory Management For My asp.net Managed Code!

J

Joey

VS2005
asp.net 2.0
C#
Developing with File System/Cassini instead of IIS (publish to IIS
every so often)

Hello guys,

I have a web app where I am using static variables on many pages to
maintain values between postbacks. I am also using several static
properties and methods on a class within my custom libraries (a .cs
file in the App_Code folder).

After constantly running the app while debugging (sometimes for three
or four hours straight,) my machine begins to slow to a crawl. I
ultimately receive a "System out of memory" message. The only program
being run on this machine during this time is Visual Studio 2005 w/my
web site (via the green triangle "Start Debugging" button) in the VS
IDE.

There is obviously some problem going on with memory management here.
Apparently I still need to destruct/destroy some objects manually,
since the .net garbage collector is not getting it.

Questions:

What am I doing wrong here?

How do I free the memory?

When I publish the site and run OUT of debug mode with IIS on the web
server, will it make any difference?

TIA

JP
 
J

Joey

The solution is very simple: *do not* use static fields in a Page class to
attempt to maintain values between postbacks. Your alternatives are:
1) ViewState
2) Session
3) Hidden Form Fields
4) Cache
-- Peter
Recursion: see Recursion
site: http://www.eggheadcafe.com
unBlog: http://petesbloggerama.blogspot.com
bogMetaFinder: http://www.blogmetafinder.com











- Show quoted text -

That will require a lot of recoding! Does anyone know of a way to
"destroy" the variables/free the memory with code?
 
G

George Ter-Saakov

Static variable should not be a problem. Although if you are using it on a
Page level then you most likely doing something wrong.
All users of the site will share that variable. So you can not use them to
maintain values between postbacks. Read up on "static" in C#.
-----------------------------------------------------------
Do you use a COM objects in your project? Like may be you doing MS Office
automation?
That can easily lead to memory leaks (without proper coding)

George.
 
J

Joey

Static variable should not be a problem. Although if you are using it on a
Page level then you most likely doing something wrong.
All users of the site will share that variable. So you can not use them to
maintain values between postbacks. Read up on "static" in C#.

Whoa! The static variables are members of the page class. I thought
different page objects were being instatiated with each page view. Is
this not true?
 
J

Joey

Whoa! The static variables are members of the page class. I thought
different page objects were being instatiated with each page view. Is
this not true?

Okay Okay I think I get it. Since they are static, they are not
instantiated in the first place! Right?
 
G

George Ter-Saakov

You got it.
Think of static variables as of "global variables"

George
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,743
Messages
2,569,478
Members
44,898
Latest member
BlairH7607

Latest Threads

Top