FtpWebRequest.GetResponse Metod

Definition

Returnerar FTP-serversvaret.

public:
 override System::Net::WebResponse ^ GetResponse();
public override System.Net.WebResponse GetResponse();
override this.GetResponse : unit -> System.Net.WebResponse
Public Overrides Function GetResponse () As WebResponse

Returer

En WebResponse referens som innehåller en FtpWebResponse instans. Det här objektet innehåller FTP-serverns svar på begäran.

Undantag

GetResponse() eller BeginGetResponse(AsyncCallback, Object) har redan anropats för den här instansen.

-eller-

En HTTP-proxy är aktiverad och du försökte använda ett annat FTP-kommando än DownloadFile, ListDirectoryeller ListDirectoryDetails.

EnableSsl är inställt på true, men servern stöder inte den här funktionen.

-eller-

A Timeout har angetts och tidsgränsen har upphört att gälla.

Exempel

Följande kodexempel visar hur du kopierar en fil till en begärans dataström och skickar en begäran om att lägga till data i en fil på servern. Exemplet anropar GetResponse för att skicka begäran och blockera tills svaret returneras av servern.

public static bool AppendFileOnServer(string fileName, Uri serverUri)
{
    // The URI described by serverUri should use the ftp:// scheme.
    // It contains the name of the file on the server.
    // Example: ftp://contoso.com/someFile.txt.
    // The fileName parameter identifies the file containing
    // the data to be appended to the file on the server.

    if (serverUri.Scheme != Uri.UriSchemeFtp)
    {
        return false;
    }
    // Get the object used to communicate with the server.
    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);
    request.Method = WebRequestMethods.Ftp.AppendFile;

    StreamReader sourceStream = new StreamReader(fileName);
    byte [] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
    sourceStream.Close();
    request.ContentLength = fileContents.Length;

    // This example assumes the FTP site uses anonymous logon.
    request.Credentials = new NetworkCredential ("anonymous","janeDoe@contoso.com");
    Stream requestStream = request.GetRequestStream();
    requestStream.Write(fileContents, 0, fileContents.Length);
    requestStream.Close();
    FtpWebResponse response = (FtpWebResponse) request.GetResponse();

    Console.WriteLine("Append status: {0}",response.StatusDescription);

    response.Close();
    return true;
}

Kommentarer

För att få åtkomst till FTP-specifika egenskaper måste du omvandla WebResponse objektet som returneras av den här metoden till FtpWebResponse.

GetResponse gör att en kontrollanslutning upprättas och kan också skapa en dataanslutning. GetResponse block tills svaret tas emot. För att förhindra detta kan du utföra den här åtgärden asynkront genom att anropa BeginGetResponse metoderna och EndGetResponse i stället för GetResponse.

Om egenskapen Proxy anges, antingen direkt eller i en konfigurationsfil, sker kommunikationen med FTP-servern via proxyn.

Om en WebException genereras använder du Response egenskaperna och Status för undantaget för att fastställa svaret från servern.

Den här medlemmen matar ut spårningsinformation när du aktiverar nätverksspårning i ditt program. Mer information finns i Network Tracing i .NET Framework.

Note

Flera anrop för att GetResponse returnera samma svarsobjekt. Begäran skickas inte igen.

Anteckningar till anropare

Den här metoden genererar nätverkstrafik.

Gäller för

Se även