0

私のasp.net Webアプリケーションでは、Amazonプラグインを使用して、対応するisbn.inコードビハインドで本の画像をロードしています。その画像をバイト配列に変換して、データベースに保存しています.しかし、問題は、エラーが表示されることがあります.写真 エラーメッセージ

このエラーの理由を特定して、いくつかの解決策を提案してください。よろしくお願いします。

4

1 に答える 1

0

これは、スロットル制限に達したときに発生します。

コードを 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 に達するまで再試行を続けます。

于 2013-07-04T10:26:47.797 に答える