代码之家  ›  专栏  ›  技术社区  ›  Shoaib Shaikh

Amazon S3 GetObjectMetadata失败(基础连接已关闭)?

  •  1
  • Shoaib Shaikh  · 技术社区  · 14 年前

    我正在使用amazonws-SDK for.net并尝试获取S3ObjectMetaData信息,作为回报,我得到的是下面的一个异常。似乎amazons3客户端连接被关闭或超时,我不确定原因。

    如何修复此错误。有什么方法可以检查S3Client是否不再有效,是否需要重新创建它的实例?

    堆栈跟踪: System.Web.HttpUnhandledException:引发了类型为“System.Web.HttpUnhandledException”的异常---&燃气轮机;System.Net.WebException:基础连接已关闭:发送时发生意外错误---&燃气轮机;System.IO.IOException:无法从传输连接读取数据:连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机没有响应---&燃气轮机;System.Net.Sockets.SocketException:连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机没有响应 在System.Net.Sockets.Socket.Receive(Byte[]buffer,Int32 offset,Int32 size,SocketFlags SocketFlags) ---内部异常堆栈跟踪结束--- at System.Net.Sockets.NetworkStream.Read(字节[]缓冲区,Int32偏移量,Int32大小) at System.Net.FixedSizeReader.ReadPacket(Byte[]buffer,Int32 offset,Int32 count) 在System.Net.Security.SslState.StartSendBlob(Byte[]incoming,Int32 count,AsyncProtocolRequest asyncRequest) 在System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)中 在System.Net.TlsStream.CallProcessAuthentication(对象状态) 在System.Threading.ExecutionContext.runTryCode(Object userData) 在System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode代码、CleanupCode backoutCode、Object userData) 在System.Threading.ExecutionContext.RunInternal(ExecutionContext ExecutionContext,ContextCallback,对象状态) 在System.Threading.ExecutionContext.Run(ExecutionContext ExecutionContext,ContextCallback,对象状态) 在System.Net.ConnectStream.WriteHeaders(布尔异步) 在Amazon.S3.amazon3client.ProcessRequestError(HttpWebRequest request、WebException we、HttpWebResponse errorResponse、String requestAddr、WebHeaderCollection&respHdrs,t型) 位于Amazon.S3.amazon3client.GetObjectMetadata(GetObjectMetadataRequest)

    1 回复  |  直到 14 年前
        1
  •  1
  •   rrrhys    14 年前

    您使用的是https,并且您的bucket名称中有“.”吗?

    尝试关闭HTTPS:

    c、 CommunicationProtocol=Protocol.HTTP; 使用(client=Amazon.AWSClientFactory.CreateAmazonS3Client(accessKeyID,secretAccessKeyID,c))

    或者,如果您想保留HTTPS,请重新生成名称中没有“.”的bucket