public static string ReadUrl(string url, bool enableCaching = false, long cacheDurationInSeconds = 86400) { if (url == null) { return(""); } var absUrl = URIHelper.ConvertToAbsUrl(url).ToLower(); var data = ""; string absPath = URIHelper.ConvertToAbsPath(URIHelper.ConvertAbsUrlToTilda(url)); using (FileStream fs = File.Open(absPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) using (BufferedStream bs = new BufferedStream(fs)) using (StreamReader sr = new StreamReader(bs)) { data = sr.ReadToEnd(); } if (enableCaching) { ContextHelper.SaveToCache(absUrl, data, DateTime.Now.AddSeconds(cacheDurationInSeconds)); } return(data); }
public void SaveToMemoryCache(RenderVersion renderVersion, string html) { if (HasDraft || HistoryVersionNumber != 0) { return; } var key = GetCacheKey(renderVersion); ContextHelper.SaveToCache(key, html); }
public dynamic GetTweetsByScreenName(string screenName, int count = 2, bool returnRawResults = false) { var key = "HomeTweets"; var rawResultsKey = "RawResultHomeTweets"; var homeTweets = (List <LinqToTwitter.Status>)ContextHelper.GetFromCache(key); var rawResults = (string)ContextHelper.GetFromCache(rawResultsKey); if ((returnRawResults) && (!string.IsNullOrEmpty(rawResults))) { return(rawResults); } if (homeTweets != null) { return(homeTweets); } try { var twitterContext = new TwitterContext(GetOAuthToken()); var queryResults = (from tweet in twitterContext.Status where tweet.Type == StatusType.User && tweet.ScreenName == screenName && tweet.Count == count && tweet.IncludeRetweets == true select tweet); var queryResultsList = queryResults.ToList(); ContextHelper.SaveToCache(key, queryResultsList, DateTime.Now.AddMinutes(10)); ContextHelper.SaveToCache(rawResultsKey, twitterContext.RawResult, DateTime.Now.AddMinutes(10)); if (returnRawResults) { return(twitterContext.RawResult); } else { return(queryResultsList); } } catch (Exception ex) { ErrorHelper.LogException(ex); ContextHelper.RemoveFromCache(key); } return(homeTweets); }