|
|
|
start date: Fri, 03 Aug 2007 12:13:22 -0700,
posted on: microsoft.public.dotnet.framework.aspnet
back
| Thread Index |
|
1
Joey
|
|
2
Peter Bromberg [C# MVP]
|
|
3
George Ter-Saakov
|
|
4
George Ter-Saakov
|
|
5
Mark Rae [MVP]
|
|
6
Joey
|
|
7
Joey
|
|
8
Joey
|
Help: Memory Management For My asp.net Managed Code!
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
Date:Fri, 03 Aug 2007 12:13:22 -0700
Author:
|
RE: Help: Memory Management For My asp.net Managed Code!
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
>
>
Date:Fri, 3 Aug 2007 13:54:01 -0700
Author:
|
Re: Help: Memory Management For My asp.net Managed Code!
On Aug 3, 3:54 pm, Peter Bromberg [C# MVP]
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?
Date:Mon, 06 Aug 2007 06:21:35 -0700
Author:
|
Re: Help: Memory Management For My asp.net Managed Code!
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" wrote in message
news:1186406495.628366.264990@d55g2000hsg.googlegroups.com...
> On Aug 3, 3:54 pm, Peter Bromberg [C# MVP]
> 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?
>
Date:Mon, 6 Aug 2007 12:53:11 -0400
Author:
|
Re: Help: Memory Management For My asp.net Managed Code!
On Aug 6, 11:53 am, "George Ter-Saakov" 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?
Date:Mon, 06 Aug 2007 10:05:51 -0700
Author:
|
Re: Help: Memory Management For My asp.net Managed Code!
On Aug 6, 12:05 pm, Joey wrote:
> On Aug 6, 11:53 am, "George Ter-Saakov" 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?
Date:Mon, 06 Aug 2007 10:07:24 -0700
Author:
|
Re: Help: Memory Management For My asp.net Managed Code!
You got it.
Think of static variables as of "global variables"
George
"Joey" wrote in message
news:1186420044.027717.254770@r34g2000hsd.googlegroups.com...
> On Aug 6, 12:05 pm, Joey wrote:
>> On Aug 6, 11:53 am, "George Ter-Saakov" 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?
>
Date:Mon, 6 Aug 2007 13:29:14 -0400
Author:
|
Re: Help: Memory Management For My asp.net Managed Code!
"George Ter-Saakov" wrote in message
news:O80gQ9E2HHA.1208@TK2MSFTNGP03.phx.gbl...
> 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
Date:Mon, 6 Aug 2007 18:35:29 +0100
Author:
|
|
|