FtpWebResponse.GetResponseStream Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft den Stream ab, der von einem FTP-Server gesendete Antwortdaten enthält.
public:
override System::IO::Stream ^ GetResponseStream();
public override System.IO.Stream GetResponseStream ();
override this.GetResponseStream : unit -> System.IO.Stream
Public Overrides Function GetResponseStream () As Stream
Gibt zurück
Eine lesbare Stream-Instanz, die die mit der Antwort zurückgegebenen Daten enthält. Andernfalls Null, wenn vom Server keine Antwortdaten zurückgegeben wurden.
Ausnahmen
Die Antwort hat keinen Datenstream zurückgegeben.
Beispiele
Im folgenden Codebeispiel wird das Abrufen des Antwortdatenstroms für eine ListDirectory Anforderung veranschaulicht.
static bool ListFilesOnServer( Uri^ serverUri )
{
// The serverUri should start with the ftp:// scheme.
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::ListDirectory;
// Get the ServicePoint object used for this request, and limit it to one connection.
// In a real-world application you might use the default number of connections (2),
// or select a value that works best for your application.
ServicePoint^ sp = request->ServicePoint;
Console::WriteLine( "ServicePoint connections = {0}.", sp->ConnectionLimit );
sp->ConnectionLimit = 1;
FtpWebResponse^ response = dynamic_cast<FtpWebResponse^>(request->GetResponse());
// The following streams are used to read the data returned from the server.
Stream^ responseStream = nullptr;
StreamReader^ readStream = nullptr;
try
{
responseStream = response->GetResponseStream();
readStream = gcnew StreamReader( responseStream,System::Text::Encoding::UTF8 );
if ( readStream != nullptr )
{
// Display the data received from the server.
Console::WriteLine( readStream->ReadToEnd() );
}
Console::WriteLine( "List status: {0}", response->StatusDescription );
}
finally
{
if ( readStream != nullptr )
{
readStream->Close();
}
if ( response != nullptr )
{
response->Close();
}
}
return true;
}
public static bool ListFilesOnServer(Uri serverUri)
{
// The serverUri should start with the ftp:// scheme.
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.ListDirectory;
// Get the ServicePoint object used for this request, and limit it to one connection.
// In a real-world application you might use the default number of connections (2),
// or select a value that works best for your application.
ServicePoint sp = request.ServicePoint;
Console.WriteLine("ServicePoint connections = {0}.", sp.ConnectionLimit);
sp.ConnectionLimit = 1;
FtpWebResponse response = (FtpWebResponse) request.GetResponse();
// The following streams are used to read the data returned from the server.
Stream responseStream = null;
StreamReader readStream = null;
try
{
responseStream = response.GetResponseStream();
readStream = new StreamReader(responseStream, System.Text.Encoding.UTF8);
if (readStream != null)
{
// Display the data received from the server.
Console.WriteLine(readStream.ReadToEnd());
}
Console.WriteLine("List status: {0}",response.StatusDescription);
}
finally
{
if (readStream != null)
{
readStream.Close();
}
if (response != null)
{
response.Close();
}
}
return true;
}
Hinweise
Nachdem Sie die Daten gelesen haben, müssen Sie den Stream schließen. Der Stream wird automatisch geschlossen, wenn Sie das FtpWebResponse Objekt schließen, das ihn enthält.
Es wird eine Ausnahme ausgelöst, es sei denn, die Anforderungsmethode ist DownloadFile oder ListDirectory.