google-apigoogle-drive-apigoogle-drive-realtime-api

Google Drive Api - Error after copying multiple files .NET - Cancel connection by remote host


Console application below return exception after copying many files. I'd like to know the exactly limit of copying and creating folders with Google drive api in .NET. Follow the Inner Exception: "Unable to read data from the transport connection: Was Forced to cancel the exist connection by remote host".

static void Main(string[] args)
    {
        if (Debugger.IsAttached)
            CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.GetCultureInfo("en-US");
        string[] Scopes = { DriveService.Scope.DriveReadonly, DriveService.Scope.DriveFile };            
        ServiceAccountCredential credential;                                    
        using (var stream =
                        new FileStream("key.json", FileMode.Open, FileAccess.Read))
        {                            
            credential = GoogleCredential.FromStream(stream)
                                 .CreateScoped(Scopes)
                                 .UnderlyingCredential as ServiceAccountCredential;                
        }
        // Create Drive API service.
        var service = new DriveService(new BaseClientService.Initializer()
        {
            HttpClientInitializer = credential,
            ApplicationName = "Test App",
        });            
        Google.Apis.Drive.v3.Data.File copiedFile = new Google.Apis.Drive.v3.Data.File();
        for (int i = 0; i < 50; i++)
        {                
            copiedFile.Name = "";                
            copiedFile.Parents = new List<string> { "1I6eCYECR8lfpWP6wFDWeYkTsUMC6jKie" };                 
            try
            {
                var lFile = service.Files.Copy(copiedFile, "157cV64pH6Jdpm8SER1MQStPhnl01XHI65AsfPwSeTqw").Execute();
                Console.WriteLine("File " + (i+1).ToString() + " copied.");
            }
            catch (Exception e)
            {                    
                Console.WriteLine("Error = " + e.InnerException.Message);
            }
        }                     
    }

Print_Error


Solution

  • Thanks for helping! I've realized that our SonicWall firewall was blocking some requests. After set (Sonicwall) to not block our request, the issue was resolved. I have attached the full error here.

    Print Error