コード例 #1
0
ファイル: ResultCache.cs プロジェクト: MonoBrasil/CsDO
        public void Add( int hashedKey, object scalarResult )
        {
            if ( ConfigurationHelper.Instance.TestMode )
                return;

            if ( !_cache.ContainsKey( hashedKey ) )
                _cache.Add( hashedKey, new ResultCacheEntry( hashedKey, scalarResult ) );
            else
                _cache[ hashedKey ] = new ResultCacheEntry( hashedKey, scalarResult );

            Save( );
        }
コード例 #2
0
ファイル: ResultCache.cs プロジェクト: MonoBrasil/CsDO
        private void Save( )
        {
            ResultCacheEntry[ ] cacheEntrys = new ResultCacheEntry[ _cache.Count ];

            int i = 0;
            foreach ( KeyValuePair<int, ResultCacheEntry> kvp in _cache )
            {
                cacheEntrys[ i ] = kvp.Value;
                i++;
            }

            lock ( syncRoot )
            {
                TextWriter writer = new StreamWriter( ConfigurationHelper.Instance.CacheFile, false );
                XmlSerializer serializer = new XmlSerializer( typeof( ResultCacheEntry[ ] ) );
                serializer.Serialize( writer, cacheEntrys );
                writer.Close( );
            }
        }