FtpWebRequest.EndGetResponse(IAsyncResult) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengakhiri operasi asinkron yang tertunda dimulai dengan 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
Parameter
- asyncResult
- IAsyncResult
IAsyncResult yang dikembalikan ketika operasi dimulai.
Mengembalikan
Referensi WebResponse yang berisi FtpWebResponse instans. Objek ini berisi respons server FTP terhadap permintaan tersebut.
Pengecualian
asyncResult
adalah null
.
asyncResult
tidak diperoleh dengan memanggil BeginGetResponse(AsyncCallback, Object).
Metode ini sudah dipanggil untuk operasi yang diidentifikasi oleh asyncResult
.
Terjadi kesalahan menggunakan proksi HTTP.
Contoh
Contoh kode berikut menunjukkan mengakhiri operasi asinkron untuk mendapatkan respons. Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk FtpWebRequest gambaran umum kelas.
// 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();
}
}
Keterangan
Jika operasi belum selesai pada saat EndGetResponse metode dipanggil, EndGetResponse blokir hingga operasi selesai. Untuk mencegah pemblokiran, periksa IsCompleted properti sebelum memanggil EndGetResponse.
Selain pengecualian yang dicatat dalam "Pengecualian," EndGetResponse memunculkan kembali pengecualian yang dilemparkan saat berkomunikasi dengan server.
Catatan
Anggota ini mengeluarkan informasi pelacakan saat Anda mengaktifkan pelacakan jaringan di aplikasi Anda. Untuk informasi selengkapnya, lihat Pelacakan Jaringan di .NET Framework.
Catatan Bagi Pemanggil
Metode ini menghasilkan lalu lintas jaringan.