/// <summary> /// Lookups the book by ISBN. /// </summary> /// <param name="isbnToLookup">The ISBN to lookup.</param> public static AmazonSearchBookResult LookupBook(string isbnToLookup) { // Find from cache at first. var cacheKey = "5ce243f60066497792b56a77476a8f70/" + isbnToLookup; var context = HttpContext.Current; var cache = context != null ? context.Cache : default(Cache); if (cache != null) { var cachedResult = cache[cacheKey] as AmazonSearchBookResult; if (cachedResult != null) { return(cachedResult); } } // Build serach parameters. var searchParam = new AmazonSearchParam(AccessKeyId, isbnToLookup); var queryStr = searchParam.ToQueryString(); var signature = searchParam.GetSignature(SecretAccessKey, Host, Path); var uri = string.Format("http://{0}{1}?{2}&Signature={3}", Host, Path, queryStr, signature); // Call AWS. var lookupResult = new AmazonSearchBookResult(XDocument.Load(uri)); // Insert into cache, and return. if (cache != null) { cache.Insert(cacheKey, lookupResult); } return(lookupResult); }
/// <summary> /// Lookups the book by ISBN. /// </summary> /// <param name="isbnToLookup">The ISBN to lookup.</param> public static AmazonSearchBookResult LookupBook(string isbnToLookup) { // Find from cache at first. var cacheKey = "5ce243f60066497792b56a77476a8f70/" + isbnToLookup; var context = HttpContext.Current; var cache = context != null ? context.Cache : default(Cache); if (cache != null) { var cachedResult = cache[cacheKey] as AmazonSearchBookResult; if (cachedResult != null) return cachedResult; } // Build serach parameters. var searchParam = new AmazonSearchParam(AccessKeyId, isbnToLookup); var queryStr = searchParam.ToQueryString(); var signature = searchParam.GetSignature(SecretAccessKey, Host, Path); var uri = string.Format("http://{0}{1}?{2}&Signature={3}", Host, Path, queryStr, signature); // Call AWS. var lookupResult = new AmazonSearchBookResult(XDocument.Load(uri)); // Insert into cache, and return. if (cache != null) cache.Insert(cacheKey, lookupResult); return lookupResult; }