Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > Help: Memory Management For My asp.net Managed Code!

Reply
Thread Tools

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

 
 
Joey
Guest
Posts: n/a
 
      08-03-2007
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

 
Reply With Quote
 
 
 
 
=?Utf-8?B?UGV0ZXIgQnJvbWJlcmcgW0MjIE1WUF0=?=
Guest
Posts: n/a
 
      08-03-2007
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



"Joey" wrote:

> 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
>
>

 
Reply With Quote
 
 
 
 
Joey
Guest
Posts: n/a
 
      08-06-2007
On Aug 3, 3:54 pm, Peter Bromberg [C# MVP]
<(E-Mail Removed)> wrote:
> 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
>
>
>
> "Joey" wrote:
> > 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- Hide quoted text -

>
> - 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?

 
Reply With Quote
 
George Ter-Saakov
Guest
Posts: n/a
 
      08-06-2007
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.




"Joey" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed) oups.com...
> On Aug 3, 3:54 pm, Peter Bromberg [C# MVP]
> <(E-Mail Removed)> wrote:
>> 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
>>
>>
>>
>> "Joey" wrote:
>> > 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- Hide quoted text -

>>
>> - 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?
>



 
Reply With Quote
 
Joey
Guest
Posts: n/a
 
      08-06-2007
On Aug 6, 11:53 am, "George Ter-Saakov" <(E-Mail Removed)> wrote:
> 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?

 
Reply With Quote
 
Joey
Guest
Posts: n/a
 
      08-06-2007
On Aug 6, 12:05 pm, Joey <(E-Mail Removed)> wrote:
> On Aug 6, 11:53 am, "George Ter-Saakov" <(E-Mail Removed)> wrote:
>
> > 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?


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

 
Reply With Quote
 
George Ter-Saakov
Guest
Posts: n/a
 
      08-06-2007
You got it.
Think of static variables as of "global variables"

George



"Joey" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed) oups.com...
> On Aug 6, 12:05 pm, Joey <(E-Mail Removed)> wrote:
>> On Aug 6, 11:53 am, "George Ter-Saakov" <(E-Mail Removed)> wrote:
>>
>> > 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?

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



 
Reply With Quote
 
Mark Rae [MVP]
Guest
Posts: n/a
 
      08-06-2007
"George Ter-Saakov" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...

> Think of static variables as of "global variables"


Yes indeed. Static variables need *very* careful management in ASP.NET...


--
Mark Rae
ASP.NET MVP
http://www.markrae.net

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[ANN] RMagick 2.10.0 released with support for Ruby-managed memory Tim Hunter Ruby 1 06-27-2009 07:07 PM
Access to memory managed by C module over JNI Sune Java 5 09-10-2007 02:37 AM
Quick and dirty C++ managed memory countzero C++ 6 03-11-2005 02:11 PM
Memory usage of Managed Objects Adam Parker ASP General 2 01-18-2005 09:16 PM
Memory Allication (Managed VC++ DLL to Unmanaged DLL) [Second Try] Weston Fryatt ASP .Net 2 01-01-2005 11:31 AM



Advertisments