FtpWebRequest.GetResponse Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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.