Rebel.Cms.Web.Caching.CacheWarmer.TraverseFrom C# (CSharp) Method

TraverseFrom() public method

public TraverseFrom ( string node ) : void
node string
return void
        public void TraverseFrom(string node)
        {
            try
            {
                string url = string.Concat(Host, node);
                WebRequest request = WebRequest.Create(url + "?format=json");
                string text;
                var response = (HttpWebResponse)request.GetResponse();

                using (var sr = new StreamReader(response.GetResponseStream()))
                {
                    text = sr.ReadToEnd();
                }

                var deserialised = new JavaScriptSerializer().Deserialize<DeserializedNode>(text);
                foreach (var childUrl in deserialised.children)
                {
                    TraverseFrom(childUrl);
                }

                request = WebRequest.Create(url);
                request.GetResponse();
            }
            catch {} // To have the cache warmed is a nice-to-have, if something goes wrong don't let the app fall over
        }
    }

Usage Example

示例#1
0
 private void GenerateIndexesFor(string node)
 {
     Task.Factory.StartNew(() =>
                                 {
                                     var generator = new CacheWarmer(_host);
                                     generator.TraverseFrom(node);
                                 });
 }
All Usage Examples Of Rebel.Cms.Web.Caching.CacheWarmer::TraverseFrom