public static IEnumerable <TwitterStatus> GetFromCache(TwitterResource resource) { string fileName = GetCacheName(resource); var serializer = new SharpSerializer(SerializerSettings); IEnumerable <TwitterStatus> statuses = null; MutexUtil.DoWork("OCELL_FILE_MUTEX" + fileName, () => { try { using (var stream = FileAbstractor.GetFileStream(fileName)) { if (stream.Length != 0) { statuses = serializer.Deserialize(stream) as IEnumerable <TwitterStatus>; } } } catch (Exception ex) { Debug.WriteLine(ex); } }); return(statuses ?? new List <TwitterStatus>()); }
public static void SaveToCache(TwitterResource resource, IEnumerable <TwitterStatus> list) { string fileName = GetCacheName(resource); var serializer = new SharpSerializer(SerializerSettings); MutexUtil.DoWork("OCELL_FILE_MUTEX" + fileName, () => { try { using (var stream = FileAbstractor.GetFileStream(fileName)) { serializer.Serialize(list.Distinct().OfType <TwitterStatus>().ToList(), stream); } } catch (Exception ex) { Debug.WriteLine(ex); } }); }