Avatar billede MoodyJerup Novice
17. april 2016 - 00:52 Der er 3 kommentarer

Timeout i system.net.ftpclient

Hej,

jeg har et problem med et FTP-script. Meningen med scriptet er at hente en filliste, og dernæst læse indholdet i hver fil og analysere det.

Jeg kan sagtens hente fillisten, som indeholder 35 filnavne. Men når jeg prøver at indlæse filerne i en stream, når den kun 9 filer igennem før jeg får en timeout.

Fejlen ser sådan ud:
"An exception of type 'System.IO.IOException' occurred in mscorlib.dll but was not handled in user code

Additional information: The connection was terminated before a greeting could be read."

Kode:

            FtpClient ftp = new FtpClient();
            ftp.Host = "xx";
            ftp.Credentials = new System.Net.NetworkCredential("xx", "xx");
            ftp.DataConnectionReadTimeout = 100000000; // Testing
            ftp.DataConnectionType = FtpDataConnectionType.AutoPassive;
            ftp.ReadTimeout = 100000000; // Testing


            // Checking if the iNews rundown exist
            try
            {
                await ftp.SetWorkingDirectoryAsync(iNewsRundown.Text);
            }

            // If not, about the function and display an errormessage
            catch (Exception s)
            {
                MessageBox.Show("The specified rundown in iNews does not exist. " + System.Environment.NewLine + System.Environment.NewLine + s);
                return;
            }

            // Clearing the window
            StatusWindow.Clear();

            // Going through all the files set in WorkingDirectory
            foreach (FtpListItem item in ftp.GetListing(ftp.GetWorkingDirectory(),
                FtpListOption.Modify | FtpListOption.Size))
            {
                StatusWindow.ScrollToCaret();

                // Reading iNews file
                switch (item.Type)
                {

                    // If a file, then take action
                    case FtpFileSystemObjectType.File:

                        // Write the name in the StatusWindow
                        StatusWindow.AppendText(item.Name + System.Environment.NewLine);

                        // Read the content of the file
                        Stream stream = await ftp.OpenReadAsync(item.Name);

Denne sidste linie er skurken...

Hjælp påskønnes... :-)
Avatar billede arne_v Ekspert
17. april 2016 - 16:19 #1
Virker det hele ved sync?
Avatar billede MoodyJerup Novice
17. april 2016 - 16:50 #2
Nej, samme problem.
Avatar billede arne_v Ekspert
17. april 2016 - 17:58 #3
Forslag: proev med sync at lave en lille pause paa maaske 3 sekunder efter hver 5. fil og se om det hjaelper.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester