2011-03-24 54 views
3

从asp.net应用程序读取/存储Amazon S3对象时偶尔会出现异常。与亚马逊的WSACancelBlockingCall异常

例外说: 无法从传输连接读取数据:阻塞操作被调用WSACancelBlockingCall中断。一个阻塞操作是通过调用中断WSACancelBlockingCall

at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags) 
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) 

我如何能找到什么是这个错误的原因,任何想法?

这里是我读功能:

public Image GetImage(string fullKey, out string errorMessage) 
    { 
     errorMessage = null; 
     try 
     { 
      GetObjectResponse response = s3Client.GetObject(new GetObjectRequest() 
      { 
       BucketName = BucketName, 
       Key = fullKey, 
       Timeout = ImportTimeout 
      }); 
      return Image.FromStream(response.ResponseStream); 
     } 
     catch (Exception e) 
     { 
      errorMessage = e.Message; 
      Log.Current.WriteError(e); 
     } 
     return null; 
    } 

s3Client被初始化在这个类的构造函数:

s3Client = AWSClientFactory.CreateAmazonS3Client(AWSAccessKey, AWSSecretKey); 

回答