私のasp.net Webアプリケーションでは、Amazonプラグインを使用して、対応するisbn.inコードビハインドで本の画像をロードしています。その画像をバイト配列に変換して、データベースに保存しています.しかし、問題は、エラーが表示されることがあります.写真
このエラーの理由を特定して、いくつかの解決策を提案してください。よろしくお願いします。
私のasp.net Webアプリケーションでは、Amazonプラグインを使用して、対応するisbn.inコードビハインドで本の画像をロードしています。その画像をバイト配列に変換して、データベースに保存しています.しかし、問題は、エラーが表示されることがあります.写真
このエラーの理由を特定して、いくつかの解決策を提案してください。よろしくお願いします。
これは、スロットル制限に達したときに発生します。
コードを try catch ブロックでラップしてみてください
例えば。
void withretry(string query)
{
ListMatchingProductsRequest request = new ListMatchingProductsRequest();
request.SellerId = amazonsetting.merchantId;
request.MarketplaceId = amazonsetting.marketplaceId;
request.QueryContextId = "Books";
request.Query = query;
try
{
ListMatchingProductsResponse response = amazonsetting.service.ListMatchingProducts(request);
if (response.IsSetListMatchingProductsResult())
{
ListMatchingProductsResult listMatchingProductsResult = response.ListMatchingProductsResult;
if (listMatchingProductsResult.IsSetProducts())
{
ProductList products = listMatchingProductsResult.Products;
List<Product> productList = products.Product;
Product product = productList[0];
if (product.IsSetIdentifiers())
{
IdentifierType identifiers = product.Identifiers;
if (identifiers.IsSetMarketplaceASIN())
{
ASINIdentifier marketplaceASIN = identifiers.MarketplaceASIN;
if (marketplaceASIN.IsSetMarketplaceId())
{
}
if (marketplaceASIN.IsSetASIN())
{
asin = marketplaceASIN.ASIN;
}
}
}
if (product.IsSetAttributeSets())
{
foreach (var attribute in product.AttributeSets.Any)
{
msg += ProductsUtil.FormatXml((System.Xml.XmlElement)attribute);
}
}
}
parsemsg();
}
}
catch (Exception ex)
{
string type = ex.Message;
if (type=="Request is throttled")
{
if (cnt<=maxretry)
{
cnt++;
withretry(query);
}
}
}
}
これは、maxretry に達するまで再試行を続けます。