C# Class ImageProcessor.Web.Plugins.AmazonS3Cache.AmazonS3Cache

Provides an IImageCache implementation that uses Amazon S3 storage. The cache is self healing and cleaning.
Inheritance: ImageProcessor.Web.Caching.ImageCacheBase
Datei anzeigen Open project: JimBobSquarePants/ImageProcessor

Private Properties

Property Type Description
GetKey string
GetRegionEndpoint Amazon.RegionEndpoint
TryFiveTimes void

Public Methods

Method Description
AddImageToCacheAsync ( Stream stream, string contentType ) : System.Threading.Tasks.Task

Adds the image to the cache in an asynchronous manner.

AmazonS3Cache ( string requestPath, string fullPath, string querystring ) : System

Initializes a new instance of the AmazonS3Cache class.

CreateCachedFileNameAsync ( ) : Task

Gets a string identifying the cached file name.

IsNewOrUpdatedAsync ( ) : Task

Gets a value indicating whether the image is new or updated in an asynchronous manner.

RewritePath ( HttpContext context ) : void

Rewrites the path to point to the cached image.

TrimCacheAsync ( ) : System.Threading.Tasks.Task

Trims the cache of any expired items in an asynchronous manner.

Protected Methods

Method Description
GetFolderStructureForAmazon ( string path ) : string

Helper to get folder structure from amazon

Private Methods

Method Description
GetKey ( string path, string fileName ) : string

Helper to construct object key from path

GetRegionEndpoint ( ) : RegionEndpoint

Helper to get AWS Region Endpoint from configuration file

TryFiveTimes ( System.Action delegateAction, System.Action exceptionAction ) : void

Tries to execute a delegate action five times.

Method Details

AddImageToCacheAsync() public method

Adds the image to the cache in an asynchronous manner.
public AddImageToCacheAsync ( Stream stream, string contentType ) : System.Threading.Tasks.Task
stream Stream /// The stream containing the image data. ///
contentType string /// The content type of the image. ///
return System.Threading.Tasks.Task

AmazonS3Cache() public method

Initializes a new instance of the AmazonS3Cache class.
public AmazonS3Cache ( string requestPath, string fullPath, string querystring ) : System
requestPath string /// The request path for the image. ///
fullPath string /// The full path for the image. ///
querystring string /// The querystring containing instructions. ///
return System

CreateCachedFileNameAsync() public method

Gets a string identifying the cached file name.
public CreateCachedFileNameAsync ( ) : Task
return Task

GetFolderStructureForAmazon() protected method

Helper to get folder structure from amazon
protected GetFolderStructureForAmazon ( string path ) : string
path string Web path to file's folder
return string

IsNewOrUpdatedAsync() public method

Gets a value indicating whether the image is new or updated in an asynchronous manner.
public IsNewOrUpdatedAsync ( ) : Task
return Task

RewritePath() public method

Rewrites the path to point to the cached image.
public RewritePath ( HttpContext context ) : void
context System.Web.HttpContext /// The encapsulating all information about the request. ///
return void

TrimCacheAsync() public method

Trims the cache of any expired items in an asynchronous manner.
public TrimCacheAsync ( ) : System.Threading.Tasks.Task
return System.Threading.Tasks.Task