CacheProviderExtensions
Class that provides helper methods for configuring CacheProviders.
namespace Polly.Caching
{
public static class CacheProviderExtensions
{
public static ICacheProvider<TCacheFormat> As<TCacheFormat>(this ICacheProvider nonGenericCacheProvider)
{
return new TypedCacheProvider<TCacheFormat>(nonGenericCacheProvider);
}
public static ICacheProviderAsync<TCacheFormat> AsyncAs<TCacheFormat>(this ICacheProviderAsync nonGenericCacheProvider)
{
return new TypedCacheProviderAsync<TCacheFormat>(nonGenericCacheProvider);
}
public static SerializingCacheProvider<TSerialized> WithSerializer<TSerialized>(this ICacheProvider<TSerialized> cacheProvider, ICacheItemSerializer<object, TSerialized> serializer)
{
return new SerializingCacheProvider<TSerialized>(cacheProvider, serializer);
}
public static SerializingCacheProvider<TResult, TSerialized> WithSerializer<TResult, TSerialized>(this ICacheProvider<TSerialized> cacheProvider, ICacheItemSerializer<TResult, TSerialized> serializer)
{
return new SerializingCacheProvider<TResult, TSerialized>(cacheProvider, serializer);
}
public static SerializingCacheProviderAsync<TSerialized> WithSerializer<TSerialized>(this ICacheProviderAsync<TSerialized> cacheProvider, ICacheItemSerializer<object, TSerialized> serializer)
{
return new SerializingCacheProviderAsync<TSerialized>(cacheProvider, serializer);
}
public static SerializingCacheProviderAsync<TResult, TSerialized> WithSerializer<TResult, TSerialized>(this ICacheProviderAsync<TSerialized> cacheProvider, ICacheItemSerializer<TResult, TSerialized> serializer)
{
return new SerializingCacheProviderAsync<TResult, TSerialized>(cacheProvider, serializer);
}
}
}