public void InvalidateCache(bool invalidateCacheOnServicePartners) { Debug.WriteLine("InvalidateCache invoked."); if (invalidateCacheOnServicePartners) { System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback( delegate(object o) { string[] partnerEndpoints = (string[])o; foreach (string partnerEndpoint in partnerEndpoints) { try { using (NetSqlAzMan.NetSqlAzManWCFCacheService.CacheServiceClient csc = new NetSqlAzMan.NetSqlAzManWCFCacheService.CacheServiceClient()) { try { csc.Endpoint.Address = new EndpointAddress(partnerEndpoint); csc.Open(); csc.BeginInvalidateCacheOnServicePartners(false, null, null); WindowsCacheService.writeEvent(String.Format("Invalidate Cache invoked on WCF Cache Service Partner: '{0}'.", partnerEndpoint), System.Diagnostics.EventLogEntryType.Information); } finally { ((IDisposable)csc).Dispose(); } } } catch (Exception ex) { WindowsCacheService.writeEvent(String.Format("WCF Cache Service Partner error.\r\n Endpoint: '{0}'\r\nError: {1}.", partnerEndpoint, ex.Message), System.Diagnostics.EventLogEntryType.Warning); } } } ), ConfigurationManager.AppSettings["WCFCacheServicePartners"].Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries)); } CacheService.startStorageBuildCache(); }