FtpWebRequest.GetResponse Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce la risposta del server FTP.
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
Restituisce
Riferimento WebResponse che contiene un'istanza FtpWebResponse di . Questo oggetto contiene la risposta del server FTP alla richiesta.
Eccezioni
GetResponse() o BeginGetResponse(AsyncCallback, Object) è già stato chiamato per questa istanza.
oppure
È abilitato un proxy HTTP e si è tentato di usare un comando FTP diverso da DownloadFile, ListDirectoryo ListDirectoryDetails.
EnableSsl è impostato su true, ma il server non supporta questa funzionalità.
oppure
È Timeout stato specificato un oggetto e il timeout è scaduto.
Esempio
Nell'esempio di codice seguente viene illustrata la copia di un file nel flusso di dati di una richiesta e l'invio di una richiesta di accodamento dei dati a un file al server. Nell'esempio viene chiamato GetResponse per inviare la richiesta e bloccare finché la risposta non viene restituita dal server.
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;
}
Commenti
Per accedere alle proprietà specifiche di FTP, è necessario eseguire il cast dell'oggetto WebResponse restituito da questo metodo a FtpWebResponse.
GetResponse determina la creazione di una connessione di controllo e la creazione di una connessione dati. GetResponse blocca fino a quando non viene ricevuta la risposta. Per evitare questo problema, è possibile eseguire questa operazione in modo asincrono chiamando i BeginGetResponse metodi e EndGetResponse al posto di GetResponse.
Se la Proxy proprietà è impostata, direttamente o in un file di configurazione, le comunicazioni con il server FTP vengono effettuate tramite il proxy.
Se viene generata un'eccezione WebException , utilizzare le Response proprietà e Status dell'eccezione per determinare la risposta dal server.
Questo membro restituisce informazioni di traccia quando si abilita la traccia di rete nell'applicazione. Per altre informazioni, vedere Traccia di rete in .NET Framework.
Annotazioni
Più chiamate per GetResponse restituire lo stesso oggetto risposta; la richiesta non viene riemissione.
Note per i chiamanti
Questo metodo genera traffico di rete.