public ProductsRepository(bool enableCache, bool enableLocalCache) { this.enableCache = enableCache; this.enableLocalCache = enableLocalCache; if (enableCache) { if (enableLocalCache && (factoryConfig == null || !factoryConfig.LocalCacheProperties.IsEnabled)) { TimeSpan localTimeout = new TimeSpan(0, 0, 30); DataCacheLocalCacheProperties localCacheConfig = new DataCacheLocalCacheProperties(10000, localTimeout, DataCacheLocalCacheInvalidationPolicy.TimeoutBased); factoryConfig = new DataCacheFactoryConfiguration(); factoryConfig.LocalCacheProperties = localCacheConfig; cacheFactory = new DataCacheFactory(factoryConfig); } else if (!enableLocalCache && (factoryConfig == null || factoryConfig.LocalCacheProperties.IsEnabled)) { cacheFactory = null; } } if (cacheFactory == null) { factoryConfig = new DataCacheFactoryConfiguration(); cacheFactory = new DataCacheFactory(factoryConfig); } }
private void btnConnect_Click(object sender, EventArgs e) { if (myCache == null) { try { DataCacheServerEndpoint[] servers = new DataCacheServerEndpoint[1]; servers[0] = new DataCacheServerEndpoint(txtCacheServer.Text, int.Parse(txtPort.Text)); DataCacheFactoryConfiguration factoryConfig = new DataCacheFactoryConfiguration(); factoryConfig.Servers = servers; if (!(checkBoxSecurity.Checked)) { DataCacheSecurity security = new DataCacheSecurity(DataCacheSecurityMode.None, DataCacheProtectionLevel.None); factoryConfig.SecurityProperties = security; } //You must set the security authentication account type to DomainAccount on the client side //when the caching service identity is a domain account. The default type is SystemAccount. if (checkBoxDomainAcc.Checked) { factoryConfig.DataCacheServiceAccountType = DataCacheServiceAccountType.DomainAccount; } if (checkBoxLocalCache.Checked) { //TimeSpan localTimeout = new TimeSpan(0, 1, 0); TimeSpan localTimeout = TimeSpan.FromSeconds(Convert.ToDouble(txtTimeout.Text)); DataCacheLocalCacheProperties localCacheConfig = new DataCacheLocalCacheProperties(10000, localTimeout, DataCacheLocalCacheInvalidationPolicy.TimeoutBased); factoryConfig.LocalCacheProperties = localCacheConfig; } myCacheFactory = new DataCacheFactory(factoryConfig); myCache = myCacheFactory.GetCache(txtCacheName.Text); //this.Text = "AppFabric Test Client has connected to Cache Cluster..."; UpdateStatus("You have connected to the Cache Cluster."); lblConnectionStatus.Text = "CONNECTED"; } catch (Exception ex) { HandleException(ex); } } }
/// <summary> /// Initializes the cache provider with the specified settings /// </summary> private void Initialize() { DataCacheFactoryConfiguration cfg = new DataCacheFactoryConfiguration() { Servers = CreateCacheEndpoints(this.HostName, this.CachePort), SecurityProperties = new DataCacheSecurity(this.SecurityMode, this.ProtectionLevel) }; if (this.LocalCache) { // Use these default values, make it read from config file DataCacheLocalCacheProperties localCacheConfig; TimeSpan localTimeout = new TimeSpan(0, 0, 30); localCacheConfig = new DataCacheLocalCacheProperties(10000, localTimeout, DataCacheLocalCacheInvalidationPolicy.TimeoutBased); cfg.LocalCacheProperties = localCacheConfig; } var factory = new DataCacheFactory(cfg); _dc = factory.GetCache(this.CacheName); }
private void InitializeCache() { String cacheNamespace = RoleEnvironment.GetConfigurationSettingValue("Namespace"); String cacheHost = String.Format("{0}.cache.windows.net", cacheNamespace); Boolean SslEnabled = true; Int32 cachePort = SslEnabled ? 22243 : 22233; Int32 sizeLocalCache = 100; DataCacheLocalCacheProperties localCacheProperties = new DataCacheLocalCacheProperties( sizeLocalCache, TimeSpan.FromSeconds(60), DataCacheLocalCacheInvalidationPolicy.TimeoutBased); List<DataCacheServerEndpoint> servers = new List<DataCacheServerEndpoint>(); servers.Add(new DataCacheServerEndpoint(cacheHost, cachePort)); DataCacheTransportProperties dataCacheTransportProperties = new DataCacheTransportProperties() { MaxBufferSize = 10000, ReceiveTimeout = TimeSpan.FromSeconds(45) }; DataCacheFactoryConfiguration cacheFactoryConfiguration = new DataCacheFactoryConfiguration() { LocalCacheProperties = localCacheProperties, SecurityProperties = GetSecurityToken(SslEnabled), Servers = servers, TransportProperties = dataCacheTransportProperties }; DataCacheFactory dataCacheFactory = new DataCacheFactory(cacheFactoryConfiguration); dataCache = dataCacheFactory.GetDefaultCache(); }