Restored logic to check cache so that the same item is not added repeatedly
Eliminate AddToCache in the factory constructor. This was causing the same item to be added to the cache repeatedly.
This commit is contained in:
parent
2c78c091bf
commit
1df947bdf8
@ -39,22 +39,23 @@ namespace VEPROMS.CSLA.Library
|
||||
private static List<ItemInfo> _CacheList = new List<ItemInfo>();
|
||||
protected static void AddToCache(ItemInfo itemInfo)
|
||||
{
|
||||
//if (!_CacheList.Contains(itemInfo))
|
||||
try
|
||||
{
|
||||
if (!_CacheList.Contains(itemInfo))
|
||||
_CacheList.Add(itemInfo); // In AddToCache
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_MyLog.ErrorFormat("ItemInfo {0}.{1} already exists in the cache", itemInfo.ItemID,itemInfo.MyItemInfoUnique);
|
||||
}
|
||||
//try
|
||||
//{
|
||||
// _CacheList.Add(itemInfo); // In AddToCache
|
||||
//}
|
||||
//catch (Exception ex)
|
||||
//{
|
||||
// _MyLog.ErrorFormat("ItemInfo {0}.{1} already exists in the cache", itemInfo.ItemID, itemInfo.MyItemInfoUnique);
|
||||
//}
|
||||
}
|
||||
protected static void RemoveFromCache(ItemInfo itemInfo)
|
||||
{
|
||||
while (_CacheList.Contains(itemInfo)) _CacheList.Remove(itemInfo); // In RemoveFromCache
|
||||
}
|
||||
private static Dictionary<string, List<ItemInfo>> _CacheByPrimaryKey = new Dictionary<string, List<ItemInfo>>();
|
||||
private static void ConvertListToDictionary()
|
||||
protected static Dictionary<string, List<ItemInfo>> _CacheByPrimaryKey = new Dictionary<string, List<ItemInfo>>();
|
||||
protected static void ConvertListToDictionary()
|
||||
{
|
||||
while (_CacheList.Count > 0) // Move ItemInfo(s) from temporary _CacheList to _CacheByPrimaryKey
|
||||
{
|
||||
@ -428,7 +429,7 @@ namespace VEPROMS.CSLA.Library
|
||||
{ get { return _MyItemInfoUnique; } }
|
||||
protected ItemInfo()
|
||||
{/* require use of factory methods */
|
||||
AddToCache(this);
|
||||
//AddToCache(this);
|
||||
}
|
||||
private bool _Disposed = false;
|
||||
private static int _CountCreated = 0;
|
||||
@ -578,7 +579,7 @@ namespace VEPROMS.CSLA.Library
|
||||
_ItemID = itemID;
|
||||
}
|
||||
}
|
||||
private void ReadData(SafeDataReader dr)
|
||||
protected void ReadData(SafeDataReader dr)
|
||||
{
|
||||
if (_MyLog.IsDebugEnabled) _MyLog.DebugFormat("[{0}] ItemInfo.ReadData", GetHashCode());
|
||||
try
|
||||
|
Loading…
x
Reference in New Issue
Block a user