Solved

c# webresponse status

Posted on 2009-07-02
5
641 Views
Last Modified: 2012-05-07
Hello.  New to the Windows world and .NET programming.  Below is a snippet of code (pulled from the internet) that get's a listing of files from an FTP server.  The try/catch code check for the success/failure of the whole operation, but I'd like to get a status from the "WebResponse response = reqFTP.GetResponse();" line of code.  How can I get the status?

Thank you
FtpWebRequest reqFTP;

            try

            {

                reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + "/"));

                reqFTP.UseBinary = true;

                reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);

                reqFTP.Method = WebRequestMethods.Ftp.ListDirectory;

                WebResponse response = reqFTP.GetResponse();

                

                StreamReader reader = new StreamReader(response.GetResponseStream());
 

                string line = reader.ReadLine();

                while (line != null)

                {

                    result.Append(line);

                    result.Append("\n");

                    line = reader.ReadLine();

                }

                // to remove the trailing '\n'

                result.Remove(result.ToString().LastIndexOf('\n'), 1);

                reader.Close();

                response.Close();

                return result.ToString().Split('\n');

            }

            catch (Exception ex)

            {

                downloadFiles = null;

                Console.WriteLine("Error {0}encountered while getting file list", ex);

                Console.ReadLine();

                return downloadFiles;

                

                

            }

Open in new window

0
Comment
Question by:racy
  • 3
  • 2
5 Comments
 
LVL 18

Assisted Solution

by:Gary Davis
Gary Davis earned 125 total points
ID: 24765191
You should be able to get the status from the response variable assuming it did not trap. A trap will occur in some situations like a bad Uri or a timeout, perhaps.
In addition, you could have additional "catch"es which will catch specific exceptions rather than the general "Exception" for additional reasons for the trap.
Gary Davis
0
 

Author Comment

by:racy
ID: 24765341
So are you saying to code like:

string myStatus = response.Status;

??  This is where I am getting hung up.  The response variable doesn't seem to have a "Status" method.
0
 

Author Comment

by:racy
ID: 24765408
According to MSDN, "GetResponse" sets the Status property of WebExceptionStatus.  This is what I am trying to get.
0
 

Author Comment

by:racy
ID: 24765555
I figured this one out.  Must something like:

catch (WebException e) {
.
.
.
}

I am such a newbie.  
0
 
LVL 18

Accepted Solution

by:
Gary Davis earned 125 total points
ID: 24766227
You can have these three all at once:
catch (HttpException e) {
.
}
catch (WebException e) {
.
}
catch (Exception e) {
.
}
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Introduction Although it is an old technology, serial ports are still being used by many hardware manufacturers. If you develop applications in C#, Microsoft .NET framework has SerialPort class to communicate with the serial ports.  I needed to…
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …
Along with being a a promotional video for my three-day Annielytics Dashboard Seminor, this Micro Tutorial is an intro to Google Analytics API data.

920 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now