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
Odkaz WebResponse , který obsahuje FtpWebResponse instanci. Tento objekt obsahuje odpověď serveru FTP na požadavek.
Výjimky
GetResponse() nebo BeginGetResponse(AsyncCallback, Object) již byla pro tento výskyt 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 true
, ale server tuto funkci nepodporuje.
-nebo-
Byla Timeout zadána hodnota a časový limit vypršel.
Příklady
Následující příklad kódu ukazuje zkopírování souboru do datového streamu požadavku a odeslání požadavku na připojení dat k souboru na server. Příklad volá k GetResponse odeslání požadavku a blokování, dokud server nevrátí odpověď.
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 = dynamic_cast<FtpWebRequest^>(WebRequest::Create( serverUri ));
request->Method = WebRequestMethods::Ftp::AppendFile;
StreamReader^ sourceStream = gcnew StreamReader( fileName );
array<Byte>^fileContents = Encoding::UTF8->GetBytes( sourceStream->ReadToEnd() );
sourceStream->Close();
request->ContentLength = fileContents->Length;
// This example assumes the FTP site uses anonymous logon.
request->Credentials = gcnew NetworkCredential( "anonymous","janeDoe@contoso.com" );
Stream^ requestStream = request->GetRequestStream();
requestStream->Write( fileContents, 0, fileContents->Length );
requestStream->Close();
FtpWebResponse^ response = dynamic_cast<FtpWebResponse^>(request->GetResponse());
Console::WriteLine( "Append status: {0}", response->StatusDescription );
response->Close();
return true;
}
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
Pokud chcete získat přístup k vlastnostem specifickým pro FTP, musíte přetypovat WebResponse objekt vrácený touto metodou na FtpWebResponse.
GetResponse způsobí, že se naváže řídicí připojení a může také vytvořit datové připojení. GetResponse až do přijetí odpovědi. Chcete-li tomu zabránit, můžete tuto operaci provést asynchronně voláním BeginGetResponse metod a EndGetResponse místo metody GetResponse.
Proxy Pokud je vlastnost nastavena, buď přímo, nebo v konfiguračním souboru, komunikace se serverem FTP probíhá prostřednictvím proxy serveru.
WebException Pokud je vyvolán, pomocí Response vlastností a Status výjimky určete odpověď ze serveru.
Tento člen poskytuje trasovací informace, když je ve vaší aplikaci povoleno 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 není znovu vysílaný.
Poznámky pro volající
Tato metoda generuje síťový provoz.