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)příkazu .
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 IAsyncResult vrácená 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).
Tato metoda již byla volána pro operaci identifikovanou nástrojem asyncResult
.
Při použití 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 , který je k dispozici 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 zablokuje ji, dokud se operace nedokončila. Pokud chcete zabránit blokování, zkontrolujte vlastnost před voláním IsCompletedEndGetResponsepříkazu .
Kromě výjimek uvedených v části Výjimky EndGetResponse znovu přidává 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 najdete v tématu Trasování sítě v rozhraní .NET Framework.
Poznámky pro volající
Tato metoda generuje síťový provoz.
Platí pro
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro