public override void Spin(IRotorContext context)
        {
            if (string.IsNullOrWhiteSpace(ConfigurationManager.AppSettings["Bennington.ContentTree.EnableOutputCacheInvalidation"]))
                return;

            var invalidateCacheUri = new Uri(string.Format("net.pipe://localhost/caching/{0}/content_tree", ConfigurationManager.AppSettings["Bennington.ContentTree.OutputCaching.CacheKey"] ?? "Bennington.ContentTree.CacheKey"));
            cacheEndpoint = new InvalidateCacheEndpoint(invalidateCacheUri);
            cacheEndpoint.CacheInvalidated += InvalidateCache;

            try
            {
                cacheEndpoint.Open();
            }
            catch (AddressAlreadyInUseException ex)
            {
                cacheEndpoint.Dispose();
                cacheEndpoint.Open();
            }
        }