FtpWebRequest.GetResponse Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí odpověď serveru 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
Návraty
WebResponse Odkaz, který obsahuje FtpWebResponse instanci. Tento objekt obsahuje odpověď serveru FTP na požadavek.
Výjimky
GetResponse() nebo BeginGetResponse(AsyncCallback, Object) již byl pro tuto instanci volána.
nebo
Je povolený proxy server HTTP a pokusili jste se použít jiný příkaz FTP než DownloadFile, ListDirectorynebo ListDirectoryDetails.
EnableSsl je nastavená na truehodnotu , ale server tuto funkci nepodporuje.
nebo
Byla zadána hodnota A Timeout a vypršel časový limit.
Příklady
Následující příklad kódu ukazuje zkopírování souboru do datového proudu požadavku a odeslání požadavku na připojení dat k souboru na server. Ukázková volání GetResponse pro odeslání požadavku a blokování, dokud server nevrátí odpověď.
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;
}
Poznámky
Chcete-li získat přístup k vlastnosti specifické pro FTP, je nutné přetypovat WebResponse objekt vrácený touto metodou na FtpWebResponse.
GetResponse způsobí vytvoření řídicího připojení a může také vytvořit datové připojení. GetResponse blokuje, dokud se odpověď neobdrží. Chcete-li tomu zabránit, můžete tuto operaci provést asynchronně voláním BeginGetResponse a EndGetResponse metod místo GetResponse.
Proxy Pokud je vlastnost nastavena přímo nebo v konfiguračním souboru, komunikace se serverem FTP se provádí prostřednictvím proxy serveru.
WebException Pokud je vyvolán, použijte Response vlastnosti Status výjimky k určení odpovědi ze serveru.
Tento člen vypíše informace o trasování, když ve své aplikaci povolíte trasování sítě. Další informace naleznete v tématu Trasování sítě v rozhraní .NET Framework.
Poznámka:
Více volání pro GetResponse vrácení stejného objektu odpovědi; požadavek se znovu nesudí.
Poznámky pro volající
Tato metoda generuje síťový provoz.