FtpWebRequest.EndGetResponse(IAsyncResult) 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í.
Ukončí čekající asynchronní operaci spuštěnou pomocí BeginGetResponse(AsyncCallback, Object).
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
Parametry
- asyncResult
- IAsyncResult
Hodnota vrácená IAsyncResult při spuštění operace.
Návraty
Odkaz WebResponse , který obsahuje FtpWebResponse instanci. Tento objekt obsahuje odpověď serveru FTP na požadavek.
Výjimky
asyncResult
je null
.
asyncResult
nebyl získán voláním BeginGetResponse(AsyncCallback, Object)metody .
Tato metoda již byla volána pro operaci identifikovanou pomocí asyncResult
.
Při používání proxy serveru HTTP došlo k chybě.
Příklady
Následující příklad kódu ukazuje ukončení asynchronní operace pro získání odpovědi. Tento příklad kódu je součástí většího příkladu FtpWebRequest pro přehled třídy.
// 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();
}
}
Poznámky
Pokud se operace nedokončila v době EndGetResponse , kdy je volána metoda, EndGetResponse blokuje se, dokud se operace nedokončila. Chcete-li zabránit blokování, zkontrolujte IsCompleted vlastnost před voláním EndGetResponsemetody .
Kromě výjimek uvedených v části Výjimky EndGetResponse znovu načítá výjimky, které byly vyvolány při komunikaci se serverem.
Poznámka
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ámky pro volající
Tato metoda generuje síťový provoz.