private ProtectedBinary BinPoolGet(string strKey)
{
if(strKey == null) { Debug.Assert(false); return null; }
ProtectedBinary pb;
if(m_dictBinPool.TryGetValue(strKey, out pb))
{
m_dictBinPool.Remove(strKey);
m_dictBinPoolCopyOnRead[strKey] = pb;
return pb;
}
if(m_dictBinPoolCopyOnRead.TryGetValue(strKey, out pb))
return new ProtectedBinary(pb);
return null;
}