FtpWebRequest.GetResponse Methode

Definitie

Retourneert het FTP-serverantwoord.

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

Retouren

Een WebResponse verwijzing die een FtpWebResponse exemplaar bevat. Dit object bevat de reactie van de FTP-server op de aanvraag.

Uitzonderingen

GetResponse() of BeginGetResponse(AsyncCallback, Object) is al aangeroepen voor dit exemplaar.

– of –

Een HTTP-proxy is ingeschakeld en u hebt geprobeerd een andere FTP-opdracht dan DownloadFile, ListDirectoryof ListDirectoryDetails.

EnableSsl is ingesteld op true, maar de server biedt geen ondersteuning voor deze functie.

– of –

Er is een Timeout opgegeven en de time-out is verlopen.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u een bestand naar de gegevensstroom van een aanvraag kopieert en een aanvraag verzendt om gegevens toe te voegen aan een bestand naar de server. In het voorbeeld wordt aanroepen GetResponse om de aanvraag te verzenden en te blokkeren totdat het antwoord door de server wordt geretourneerd.

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;
}

Opmerkingen

Als u toegang wilt krijgen tot de FTP-specifieke eigenschappen, moet u het WebResponse object casten dat door deze methode wordt geretourneerd.FtpWebResponse

GetResponse zorgt ervoor dat er een controleverbinding tot stand is gebracht en kan ook een gegevensverbinding worden gemaakt. GetResponse wordt geblokkeerd totdat het antwoord is ontvangen. Om dit te voorkomen, kunt u deze bewerking asynchroon uitvoeren door de BeginGetResponse en EndGetResponse methoden in plaats van GetResponse.

Als de Proxy eigenschap is ingesteld, rechtstreeks of in een configuratiebestand, wordt communicatie met de FTP-server uitgevoerd via de proxy.

Als er een WebException optreedt, gebruikt u de Response en Status eigenschappen van de uitzondering om het antwoord van de server te bepalen.

Dit lid voert traceringsgegevens uit wanneer u netwerktracering inschakelt in uw toepassing. Zie Network Tracing in the .NET Framework voor meer informatie.

Note

Meerdere aanroepen om hetzelfde antwoordobject te GetResponse retourneren; de aanvraag wordt niet opnieuw uitgegeven.

Notities voor bellers

Met deze methode wordt netwerkverkeer gegenereerd.

Van toepassing op

Zie ook