MakeSafeRowkeyFromUrl() public static method

public static MakeSafeRowkeyFromUrl ( string url ) : string
url string
return string
Beispiel #1
0
 // scan the cacheurls table, compare uris with counts > 0 to uris in cache, if match then evict uri and decrement count
 public static void MaybePurgeCache(ICache cache)
 {
     try
     {
         var purgeable_entities = FetchPurgeableCacheDicts();
         GenUtils.LogMsg("status", String.Format("MaybePurgeCache: {0} purgeable entities", purgeable_entities.Count), null);
         foreach (var purgeable_entity in purgeable_entities)
         {
             var purgeable_cache_url = (string)purgeable_entity["cached_uri"];
             if (cache[purgeable_cache_url] != null)
             {
                 GenUtils.LogMsg("status", "MaybePurgeCache", purgeable_cache_url);
                 cache.Remove(purgeable_cache_url);
                 var obj   = HttpUtils.FetchUrl(new Uri(purgeable_cache_url));                       // rewarm the cache
                 var count = (int)purgeable_entity["count"];
                 count -= 1;
                 if (count < 0)
                 {
                     count = 0;
                     GenUtils.LogMsg("warning", "CacheUtils.MaybePurgeCache", "count went subzero, reset to zero");
                 }
                 purgeable_entity["count"] = count;
                 var rowkey = TableStorage.MakeSafeRowkeyFromUrl(purgeable_cache_url);
                 ts.UpdateEntity(cache_control_tablename, cache_control_partkey, rowkey, purgeable_entity);
             }
         }
     }
     catch (Exception e)
     {
         GenUtils.PriorityLogMsg("exception", "MaybePurgeCache", e.Message + e.StackTrace);
     }
 }
Beispiel #2
0
        // called from CombineZonedEventStoresToZonelessEventStore at the end of an aggregation
        // bumps the counters in the cacheurls table to equal the number of webroles running
        public static void MarkBaseCacheEntryForRemoval(string cached_uri, int instance_count)
        {
            var entity = new Dictionary <string, object>();

            entity.Add("cached_uri", cached_uri);
            entity.Add("count", instance_count);
            var rowkey = TableStorage.MakeSafeRowkeyFromUrl(cached_uri);

            //ts.UpdateEntity(cache_control_tablename, cache_control_partkey, rowkey, entity);
            TableStorage.DictObjToTableStore(TableStorage.Operation.update, entity, cache_control_tablename, cache_control_partkey, rowkey);
        }