FtpWebRequest.EndGetResponse(IAsyncResult) 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.
Beendet einen ausstehenden Vorgang, der mit BeginGetResponse(AsyncCallback, Object) gestartet wurde.
public:
override System::Net::WebResponse ^ EndGetResponse(IAsyncResult ^ asyncResult);
public override System.Net.WebResponse EndGetResponse (IAsyncResult asyncResult);
override this.EndGetResponse : IAsyncResult -> System.Net.WebResponse
Public Overrides Function EndGetResponse (asyncResult As IAsyncResult) As WebResponse
Parameter
- asyncResult
- IAsyncResult
Das IAsyncResult, das zu Beginn des Vorgangs zurückgegeben wurde.
Gibt zurück
Ein WebResponse-Verweis, der eine FtpWebResponse-Instanz enthält. Dieses Objekt enthält die Antwort des FTP-Servers auf die Anforderung.
Ausnahmen
asyncResult
ist null
.
asyncResult
wurde nicht durch den Aufruf von BeginGetResponse(AsyncCallback, Object) abgerufen.
Diese Methode wurde bereits für den durch asyncResult
bezeichneten Vorgang aufgerufen.
Fehler beim Verwenden eines HTTP-Proxys.
Beispiele
Im folgenden Codebeispiel wird das Beenden eines asynchronen Vorgangs zum Abrufen einer Antwort veranschaulicht. Dieses Codebeispiel ist Teil eines größeren Beispiels für die FtpWebRequest Klassenübersicht.
// The EndGetResponseCallback method
// completes a call to BeginGetResponse.
static void EndGetResponseCallback( IAsyncResult^ ar )
{
FtpState^ state = dynamic_cast<FtpState^>(ar->AsyncState);
FtpWebResponse ^ response = nullptr;
try
{
response = dynamic_cast<FtpWebResponse^>(state->Request->EndGetResponse( ar ));
response->Close();
state->StatusDescription = response->StatusDescription;
// Signal the main application thread that
// the operation is complete.
state->OperationComplete->Set();
}
// Return exceptions to the main application thread.
catch ( Exception^ e )
{
Console::WriteLine( "Error getting response." );
state->OperationException = e;
state->OperationComplete->Set();
}
}
// The EndGetResponseCallback method
// completes a call to BeginGetResponse.
private static void EndGetResponseCallback(IAsyncResult ar)
{
FtpState state = (FtpState) ar.AsyncState;
FtpWebResponse response = null;
try
{
response = (FtpWebResponse) state.Request.EndGetResponse(ar);
response.Close();
state.StatusDescription = response.StatusDescription;
// Signal the main application thread that
// the operation is complete.
state.OperationComplete.Set();
}
// Return exceptions to the main application thread.
catch (Exception e)
{
Console.WriteLine ("Error getting response.");
state.OperationException = e;
state.OperationComplete.Set();
}
}
Hinweise
Wenn der Vorgang zum Zeitpunkt des Aufrufs der EndGetResponse Methode noch nicht abgeschlossen wurde, wird blockiert, EndGetResponse bis der Vorgang abgeschlossen ist. Um eine Blockierung zu verhindern, überprüfen Sie die IsCompleted -Eigenschaft, bevor Sie aufrufen EndGetResponse.
Zusätzlich zu den unter "Ausnahmen" EndGetResponse aufgeführten Ausnahmen werden Ausnahmen erneut ausgelöst, die bei der Kommunikation mit dem Server ausgelöst wurden.
Hinweis
Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.
Hinweise für Aufrufer
Diese Methode generiert Netzwerkdatenverkehr.