示例#1
0
        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();
        }
示例#2
0
        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();
        }