mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-04-05 21:01:35 +08:00
Brought back support for compression in Azure database caching.
This commit is contained in:
parent
1edff1f34c
commit
4f47c6a967
@ -51,7 +51,7 @@ namespace Orchard.Azure.Services.Caching {
|
||||
|
||||
public bool CompressionIsEnabled {
|
||||
get;
|
||||
protected set;
|
||||
set;
|
||||
}
|
||||
|
||||
public bool AutodiscoverIsEnabled {
|
||||
@ -77,7 +77,8 @@ namespace Orchard.Azure.Services.Caching {
|
||||
dataCacheFactoryConfiguration.AutoDiscoverProperty = new DataCacheAutoDiscoverProperty(true, HostIdentifier);
|
||||
}
|
||||
else {
|
||||
dataCacheFactoryConfiguration.Servers = new[] {new DataCacheServerEndpoint(Hostname, Port)};
|
||||
dataCacheFactoryConfiguration.AutoDiscoverProperty = new DataCacheAutoDiscoverProperty(false);
|
||||
dataCacheFactoryConfiguration.Servers = new[] { new DataCacheServerEndpoint(Hostname, Port) };
|
||||
dataCacheFactoryConfiguration.SecurityProperties = new DataCacheSecurity(AuthorizationToken);
|
||||
}
|
||||
|
||||
|
@ -8,25 +8,21 @@ namespace Orchard.Azure.Services.Caching.Database {
|
||||
public class AzureCacheProvider : ICacheProvider {
|
||||
|
||||
private DataCache _dataCache;
|
||||
private bool _sharedCaching;
|
||||
private bool _isSharedCaching;
|
||||
|
||||
public ICache BuildCache(string regionName, IDictionary<string, string> properties) {
|
||||
|
||||
if (_dataCache == null) {
|
||||
throw new ApplicationException("DataCache should be available");
|
||||
throw new InvalidOperationException("Can't call this method when provider is in stopped state.");
|
||||
}
|
||||
|
||||
string enableCompressionString;
|
||||
properties.TryGetValue("compression_enabled", out enableCompressionString);
|
||||
|
||||
|
||||
TimeSpan? expiration = null;
|
||||
string expirationString;
|
||||
if (properties.TryGetValue(NHibernate.Cfg.Environment.CacheDefaultExpiration, out expirationString) || properties.TryGetValue("cache.default_expiration", out expirationString)) {
|
||||
expiration = TimeSpan.FromSeconds(Int32.Parse(expirationString));
|
||||
}
|
||||
|
||||
return new AzureCacheClient(_dataCache, _sharedCaching, regionName, expiration);
|
||||
return new AzureCacheClient(_dataCache, _isSharedCaching, regionName, expiration);
|
||||
}
|
||||
|
||||
public long NextTimestamp() {
|
||||
@ -37,9 +33,15 @@ namespace Orchard.Azure.Services.Caching.Database {
|
||||
CacheClientConfiguration configuration;
|
||||
|
||||
try {
|
||||
var tenant = properties["cache.region_prefix"];
|
||||
var tenantName = properties["cache.region_prefix"];
|
||||
|
||||
configuration = CacheClientConfiguration.FromPlatformConfiguration(tenant, Constants.DatabaseCacheSettingNamePrefix);
|
||||
bool enableCompression = false;
|
||||
string enableCompressionString;
|
||||
if (properties.TryGetValue("compression_enabled", out enableCompressionString))
|
||||
enableCompression = Boolean.Parse(enableCompressionString);
|
||||
|
||||
configuration = CacheClientConfiguration.FromPlatformConfiguration(tenantName, Constants.DatabaseCacheSettingNamePrefix);
|
||||
configuration.CompressionIsEnabled = enableCompression;
|
||||
configuration.Validate();
|
||||
}
|
||||
catch (Exception ex) {
|
||||
@ -47,10 +49,11 @@ namespace Orchard.Azure.Services.Caching.Database {
|
||||
}
|
||||
|
||||
_dataCache = configuration.CreateCache();
|
||||
_sharedCaching = configuration.IsSharedCaching;
|
||||
_isSharedCaching = configuration.IsSharedCaching;
|
||||
}
|
||||
|
||||
public void Stop() {
|
||||
_dataCache = null;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user