Added Memory Tracking Code

This commit is contained in:
Rich
2012-05-21 13:34:22 +00:00
parent c8de9f8538
commit ab1cd8af42
202 changed files with 4617 additions and 122 deletions

View File

@@ -37,9 +37,13 @@ namespace VEPROMS.CSLA.Library
if (IsDirty)
refreshTransitions.Add(this);
}
private void BuildRefreshList()
private void ClearRefreshList()
{
_RefreshTransitions = new List<Transition>();
}
private void BuildRefreshList()
{
ClearRefreshList();
AddToRefreshList(_RefreshTransitions);
}
private void ProcessRefreshList()
@@ -51,6 +55,7 @@ namespace VEPROMS.CSLA.Library
if (tmp._MyItemRangeID != null) ItemInfo.Refresh(tmp._MyItemRangeID);
if (tmp._MyItemToID != null) ItemInfo.Refresh(tmp._MyItemToID);
}
ClearRefreshList();
}
#endregion
#region Collection
@@ -566,8 +571,28 @@ namespace VEPROMS.CSLA.Library
{/* require use of factory methods */
AddToCache(this);
}
private bool _Disposed = false;
private static int _CountCreated = 0;
private static int _CountDisposed = 0;
private static int _CountFinalized = 0;
private static int IncrementCountCreated
{ get { return ++_CountCreated; } }
private int _CountWhenCreated = IncrementCountCreated;
public static int CountCreated
{ get { return _CountCreated; } }
public static int CountNotDisposed
{ get { return _CountCreated - _CountDisposed; } }
public static int CountNotFinalized
{ get { return _CountCreated - _CountFinalized; } }
~Transition()
{
_CountFinalized++;
}
public void Dispose()
{
if (_Disposed) return;
_CountDisposed++;
_Disposed = true;
RemoveFromDictionaries();
}
private void RemoveFromDictionaries()