FtpWebRequest.GetResponse Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.