HttpListener.EndGetContext(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.
Menyelesaikan operasi asinkron untuk mengambil permintaan klien masuk.
public:
System::Net::HttpListenerContext ^ EndGetContext(IAsyncResult ^ asyncResult);
public System.Net.HttpListenerContext EndGetContext (IAsyncResult asyncResult);
member this.EndGetContext : IAsyncResult -> System.Net.HttpListenerContext
Public Function EndGetContext (asyncResult As IAsyncResult) As HttpListenerContext
Parameter
- asyncResult
- IAsyncResult
Objek IAsyncResult yang diperoleh ketika operasi asinkron dimulai.
Mengembalikan
Objek HttpListenerContext yang mewakili permintaan klien.
Pengecualian
asyncResult
tidak diperoleh dengan memanggil BeginGetContext(AsyncCallback, Object) metode .
asyncResult
adalah null
.
Panggilan fungsi Win32 gagal. Periksa properti pengecualian ErrorCode untuk menentukan penyebab pengecualian.
Metode EndGetContext(IAsyncResult) ini sudah dipanggil untuk objek yang ditentukan asyncResult
.
Objek ini ditutup.
Contoh
Contoh kode berikut menunjukkan implementasi metode panggilan balik yang memanggil EndGetContext metode .
public static void ListenerCallback(IAsyncResult result)
{
HttpListener listener = (HttpListener) result.AsyncState;
// Call EndGetContext to complete the asynchronous operation.
HttpListenerContext context = listener.EndGetContext(result);
HttpListenerRequest request = context.Request;
// Obtain a response object.
HttpListenerResponse response = context.Response;
// Construct a response.
string responseString = "<HTML><BODY> Hello world!</BODY></HTML>";
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString);
// Get a response stream and write the response to it.
response.ContentLength64 = buffer.Length;
System.IO.Stream output = response.OutputStream;
output.Write(buffer,0,buffer.Length);
// You must close the output stream.
output.Close();
}
Public Shared Sub ListenerCallback(ByVal result As IAsyncResult)
Dim listener As HttpListener = CType(result.AsyncState, HttpListener)
' Call EndGetContext to complete the asynchronous operation.
Dim context As HttpListenerContext = listener.EndGetContext(result)
Dim request As HttpListenerRequest = context.Request
' Obtain a response object.
Dim response As HttpListenerResponse = context.Response
' Construct a response.
Dim responseString As String = "<HTML><BODY> Hello world!</BODY></HTML>"
Dim buffer As Byte() = System.Text.Encoding.UTF8.GetBytes(responseString)
' Get a response stream and write the response to it.
response.ContentLength64 = buffer.Length
Dim output As System.IO.Stream = response.OutputStream
output.Write(buffer, 0, buffer.Length)
' You must close the output stream.
output.Close()
End Sub
Keterangan
Metode EndGetContext ini dipanggil, biasanya dalam metode panggilan balik yang ditentukan aplikasi yang dipanggil oleh delegasi, untuk mendapatkan HttpListenerContext objek yang berisi permintaan klien masuk dan respons terkait. Metode ini menyelesaikan operasi yang sebelumnya dimulai dengan memanggil BeginGetContext metode . Jika operasi belum selesai, metode ini akan memblokir hingga selesai.
Karena memanggil EndGetContext metode memerlukan HttpListener objek , objek ini biasanya diteruskan ke metode panggilan balik dengan menggunakan objek status yang diteruskan ke BeginGetContext metode . Anda dapat memperoleh objek status ini dengan menggunakan AsyncState properti asyncResult
objek .
Untuk informasi mendetail tentang menggunakan model pemrograman asinkron, lihat Memanggil Metode Sinkron Secara Asinkron.
Catatan Bagi Pemanggil
Anggota ini mengeluarkan informasi pelacakan saat Anda mengaktifkan pelacakan jaringan di aplikasi Anda. Untuk informasi selengkapnya, lihat Pelacakan Jaringan di .NET Framework.