错误 CS0030:无法在 Amazon Web Service 中将类型“Simple.Amazon.ECS.Imag

本文关键字:Amazon 类型 Simple Imag ECS Web CS0030 错误 Service | 更新日期: 2023-09-27 18:30:37

我正在尝试制作一个小应用程序,该应用程序可以通过ISBN在亚马逊上搜索一本书。

我正在以下链接:

http://flyingpies.wordpress.com/2009/08/01/17/

http://flyingpies.wordpress.com/2009/08/13/signing-amazon-product-advertising-api-cwcf-part-2/

使用新的亚马逊服务搜索亚马逊示例

我的代码是:

BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);
binding.MaxReceivedMessageSize = int.MaxValue;
AWSECommerceServicePortTypeClient amazonClient = new AWSECommerceServicePortTypeClient(
    binding, new EndpointAddress("https://webservices.amazon.com/onca/soap?Service=AWSECommerceService"));
amazonClient.ChannelFactory.Endpoint.Behaviors.Add(new AmazonSigningEndpointBehavior(AccessKeyId, SecretAccessKey));
ItemLookup lookup = new ItemLookup();
ItemLookupRequest request = new ItemLookupRequest();
request.IdType = ItemLookupRequestIdType.ISBN;
request.ItemId = new[] {"9780297870470"};
request.ResponseGroup = new[] { "OfferSummary" };
request.SearchIndex = "All";
request.IdTypeSpecified = true;
lookup.Request = new ItemLookupRequest[] { request };
lookup.AWSAccessKeyId = AccessKeyId;
lookup.AssociateTag = "wwwyaodaromane-90";
var response = amazonClient.ItemLookup(lookup);

当我尝试发送请求时,我收到此异常

序列化邮件 ItemSearchRequest1 的正文时出错:'无法生成临时类 (结果 = 1)。

错误 CS0030:无法将类型"Simple.Amazon.ECS.ImageSet[]"转换为'Simple.Amazon.ECS.ImageSet'

内部例外是:

{"无法生成临时类 (结果 = 1)。''r'错误 CS0030:无法将类型"Simple.Amazon.ECS.ImageSet[]"转换为'Simple.Amazon.ECS.ImageSet'''r'错误 CS0029: 不能隐式将类型"Simple.Amazon.ECS.ImageSet"转换为'Simple.Amazon.ECS.ImageSet[]'''r'"}

我不明白为什么我会得到这个。我做错了什么?

错误 CS0030:无法在 Amazon Web Service 中将类型“Simple.Amazon.ECS.Imag

这通常是 WCF 代理生成中的一个错误。有关一些详细信息和解决方法,请参阅此处。

摘自评论链接:

以下是截至 2012 年 1 月 31 日的步骤,用于在 Visual Studio for .Net 客户端中解决此问题:

1) 单击包含 Amazon 服务引用的项目的解决方案资源管理器中的"显示所有文件"按钮。

2) 展开引用并在编辑器中打开 AWSECommerceService.wsdl 文件

3) 在第 584 行将"maxHappen"更改为"1"。

4) 保存 AWSECommerceService.wsdl 文件

5)右键单击Reference.svcmap,然后单击"运行自定义工具"

6) 展开 Reference.svcmap 并打开"引用.cs"或"引用.vb

7) 导航到 AmazonAPI.your 命名空间。使用窗口顶部的下拉列表的项目。

8) 导航到 ImageSets 属性并确认其声明如下所示:

public ImageSet[] ImageSets {

而不是这样的

public ImageSet[][] ImageSets {

9) 重建您的项目