FtpWebRequest.GetResponse Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Devolve a resposta do servidor 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
Devoluções
Uma WebResponse referência que contém uma FtpWebResponse instância. Este objeto contém a resposta do servidor FTP ao pedido.
Exceções
GetResponse() ou BeginGetResponse(AsyncCallback, Object) já foi chamado para este caso.
-ou-
Um proxy HTTP está ativado, e tentou usar um comando FTP diferente de DownloadFile, ListDirectory, ou ListDirectoryDetails.
EnableSsl está definido para true, mas o servidor não suporta esta funcionalidade.
-ou-
A Timeout foi especificado e o timeout expirou.
Exemplos
O exemplo de código seguinte demonstra a cópia de um ficheiro para o fluxo de dados de um pedido e o envio de um pedido para adicionar dados a um ficheiro ao servidor. O exemplo chama GetResponse para enviar o pedido e bloquear até que a resposta seja devolvida pelo servidor.
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;
}
Observações
Para aceder às propriedades específicas do FTP, deve lançar o WebResponse objeto devolvido por este método para FtpWebResponse.
GetResponse faz com que seja estabelecida uma ligação de controlo, podendo também criar uma ligação de dados. GetResponse bloqueia até receber a resposta. Para evitar isto, pode realizar esta operação de forma assíncrona chamando os BeginGetResponse métodos e EndGetResponse em vez de GetResponse.
Se a Proxy propriedade estiver definida, seja diretamente ou num ficheiro de configuração, as comunicações com o servidor FTP são feitas através do proxy.
Se a WebException for lançado, use as Response propriedades e Status da exceção para determinar a resposta do servidor.
Esse membro gera informações de rastreamento quando você habilita o rastreamento de rede em seu aplicativo. Para mais informações, consulte Rastreamento de Rede no .NET Framework.
Note
Múltiplas chamadas para GetResponse devolver o mesmo objeto de resposta; o pedido não é reemitido.
Notas para Chamadores
Este método gera tráfego de rede.