.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
Sign In
Register
 
Win Surprise Gifts!!!
Congratulations!!!


Top 5 Contributors of the Month
Easy Web
Imran Ghani
Post New Web Links

Can't Get .Net to Release Memory From Destroyed Objects

Posted By:      Posted Date: September 16, 2010    Points: 0   Category :WPF
 
Hey folks, I have a rather large WPF (.net 3.5 sp1) business app.  There are 2 projects within the solution.  One project contains my business objects and all database interaction and business logic.  The other project is the front end ui.  Multiple tabs, many controls on each tab, lots of data, lots of objects bound to controls... All works very well.  My problem is that when I reload the data (which is semi-frequent), the old business objects that held the prior data never gets released by the Garbage Collector, so the size of the app continues to increase. I've tried nearly everything I can think of.  I've ensured nothing held a reference to the objects that were destroyed.  Anything that had a dispose function, I ensured that I called it.  Set everything to null.  I called the gc manually to make sure it wasn't just a delayed call.  Set WPF user controls to null that were bound to my objects.  Even tried moving it to .Net 4.0 to see if it was something resolved with the new version. I'v also researched WPF memory leaks, but I don't think any of the situations apply to me.  Finally I installed .Net Memory Profiler which confirmed that the old instances are still alive and consuming memory, but I can't figure out why (although I'm not an expert at using the .Net Memory Profiler app). One guess I had (but ca


View Complete Post


More Related Resource Links

Basic Instincts: Objects and Values, Part 2: Memory Management

  

In the June 2002 installment of Basic Instincts I began a discus-sion of objects and values. This month I'll build on that column, so I will assume you've read the June installment and that you know the fundamental differences between value types and reference types.

Ted Pattison

MSDN Magazine October 2002


How can you check how much heap memory your objects are using?

  

Is there a way to check how much heap memory your objects are using??  (during debug mode of course) .  I am using Visual Studio 2005 with C# ASP.net.


Secondly, is there a way to check how much memory session variables are using as well?


thanks


How to release memory consumed by ms sql server

  

I am writing a module that creates huge load on sql server using number of sql connections.

I close this connections once I am done with my processing.

SQL server, however uses memory available on computer, to perform its work. On the  other hand even though, SQL server finishes its task it don't release this memory back to other running services.

Is there way I can release this memory back to other processes once I am done with my operations ???

 

 


How to release memory consumed by ms sql server

  

I am writing a module that creates huge load on sql server using number of sql connections.

I close this connections once I am done with my processing.

SQL server, however uses memory available on computer, to perform its work. On the  other hand even though, SQL server finishes its task it don't release this memory back to other running services.

Is there way I can release this memory back to other processes once I am done with my operations ???

 

 


Does SSIS Container release memory when it's completed

  

Let's there are multiple containers in a package, each container has mutiple Data Flowss. Does SSIS release memory when one containers task is finished?Or it wait until all package finished.


How to detect and avoid memory and resources leaks in .NET application

  
Despite what a lot of people believe, it's easy to introduce memory and resources leaks in .NET applications. The Garbage Collector, or GC for close friends, is not a magician who would completely relieve you from taking care of your memory and resources consumption.

I'll explain in this article why memory leaks exist in .NET and how to avoid them. Don't worry, I won't focus here on the inner workings of the garbage collector and other advanced characteristics of memory and resources management in .NET.

Need help with objects and arrays

  

I have an objuct that I declared like this:

    Class DailyStats
        Dim _day As String
        Dim _hour As String
        Dim _impressions As String
        Dim _clicks As String
        Property Day() As String
            Get
                Return _day
            End Get
            Set(ByVal value As String)
                _day = value
            End Set
        End Property
        Property Hour() As String
            Get
                Return _hour
         

file upload in chunks or not buffering in memory before writing to disk?

  

What are the options for handling file uploads to reduce the memory footprint?  Is there a way to upload in chunks?  Is there a way to stream upload directly to disk instead of loading entire file in server memory?


Thanks


Visual Studio 2008 Memory problems

  

My memory in task manager reaches about 900,000K  and I don't know why it does this. Definately slows everything down, especially when I rebuild my tableAdapters, takes about 30 seconds sometimes to rebuild the project.


How to check for null/empty strings on dynamic objects?

  

What is the proper way to check for null or empty strings on dynamic objects? This is the only solution I've found so far:

if (admin.PasswordHash.GetType() == typeof(DBNull) || admin.PasswordHash == string.Empty)

If the field is null, the object returned is DBNull.Value, but if the field is empty string, it's return as a System.String object. This makes it impossible to do regular "admin.PasswordHash == DBNull.Value" check, as that will fail whenever the field has been set to empty string. Is my example the right (and only) way to go?


how to serialize objects ??

  

Is there any way or process to serialize the the objects?? i am trying to store the instance of few control in viewstate but it shows error msg that it is not a serialized object. should i perform some steps to serialize the objects ???



Crystal Report gives System.AccessViolationException: Attempted to read or write protected memory. T

  

when a crystal report for same id is opened again at same time or refreshed then it gives the

"System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt."


Stack Trace is :-


Stack Trace:

[AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.]
CrystalDecisions.ReportAppServer.Controllers.DatabaseControllerClass.SetConnectionInfos(ConnectionInfos ConnectionInfos) +0
CrystalDecisions.CrystalReports.Engine.Table.ApplyLogOnInfo(TableLogOnInfo logonInfo) +362
CrystalDecisions.CrystalReports.Engine.ReportDocument.SetTableLogon(Tables tables, String user, String password, String server, String database, Boolean ignoreCase) +258
CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDatabaseLogon(String user, String password, String server, String database, Boolean ignoreCase) +204
CrystalDecisions.

Class which contains an array of objects of type "Class2"

  

 

1  Partial Class _Default
2  Inherits System.Web.UI.Page

3 Public Function Ohjoy(ByVal X As Integer) As Integer
4 Dim theClass As New Class1 '= New Class1()
5    theClass.ReSize(0)
6    theClass.myBaby(0).GetName(0) = "Hello" 'Property Chars is read only'
7    Return 1
8 End Function
I have a first class named "Class1". I have a second class named "Class2" Class2, is a member of class 1,
and is implemented as an array of objects of type Class 2.

If I try and call the Accessor GetName() my hard coded value "Hello" in my accessor is not returned? Only
an alpha character like "T"

Also if I try and assigne a value using the setter GetName() it does not work, and the compiler gives me
an error message "property Chars is ReadOnly? Does anyone know what is wrong in my code? Line 6 above

 

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
    Ohjoy(1)
End Sub
End Class

Public Class Class1
    Dim bs As Integer
    Public myBaby() As Class2
    Public myB As Class2
    Public Function ReSize(By

Maximum memory for string ? . System.MemoryOutOfException Occurs when reading the Content of the fil

  

Hi,

I have a C++ code which reads a file [vtk file - its similar to text file only]. and try to store it in string.

here's the code:

String^ ParallelProjectionRenderer::GetVolumeDataAsString(String^ FileName)

{
    vtkSmartPointer<vtkDataSetWriter> sWriter = vtkSmartPointer<vtkDataSetWriter>::New();

    String^ FileName = "D:\\Users\\...";

    char * sptName = static_cast<char *>(Marshal::StringToHGlobalAnsi(FileName).ToPointer());

    sWriter->SetFileName(sptName);

    sWriter->Register(nullptr);

    sWriter->SetInput(this->dataSource);

    sWriter->SetFileTypeToASCII();

    sWriter->Write();

    sWriter->Delete();

    String^ result= File::ReadAllText(FileName);   [it breaks here with system.memoryoutofexception when the file size is huge]

    return result;

}

this code executes fine when the file size is less than 8mb.

I wanted to know whats the maximum memory allocated to the string.


As a workaround i skipped reading out in C++ code. and i tried to read the file contents in asp.net C# code and stor

Tools for memory error check in VS2005

  

Dear all,

I am going to write vs2005 program with ASP.NET and C++.

As you know that C++ will involve a lot of memory error handling.

Do you know is there any tools for checking memory error in Code Behind C++??


Cutting Edge: Expando Objects in C# 4

  

The .NET Framework 4 introduces some new features that enable you to go beyond static types. We explore dynamically expando objects and demonstrate how they can be used like dynamically updatable dictionary objects.

Dino Esposito

MSDN Magazine July 2010


Cutting Edge: Pros and Cons of Data Transfer Objects

  

After a brief refresher on procedural and object based patterns for organizing the business logic layer, the author focuses on data transfer objects and the impact they have on the development of the software project.

Dino Esposito

MSDN Magazine August 2009


Categories: 
ASP.NetWindows Application  .NET Framework  C#  VB.Net  ADO.Net  
Sql Server  SharePoint  Silverlight  Others  All   

Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend