Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Contoh ini melampirkan handler ke peristiwa handler asinkron layanan Web, sehingga dapat mengambil hasil panggilan metode asinkron. Contoh ini menggunakan layanan Web DemoTemperatureService di http://www.xmethods.net.
Saat Anda mereferensikan layanan Web dalam proyek Anda di Visual Studio Integrated Development Environment (IDE), layanan tersebut ditambahkan ke My.WebServices objek, dan IDE menghasilkan kelas proksi klien untuk mengakses layanan Web tertentu
Kelas proksi memungkinkan Anda memanggil metode layanan Web secara sinkron, di mana aplikasi Anda menunggu fungsi selesai. Selain itu, proksi membuat anggota tambahan untuk membantu memanggil metode secara asinkron. Untuk setiap fungsi layanan web, NameOfWebServiceFunction, proksi membuat subrutin NameOfWebServiceFunctionAsync, acara NameOfWebServiceFunctionCompleted, dan kelas NameOfWebServiceFunctionCompletedEventArgs. Contoh ini menunjukkan cara menggunakan anggota asinkron untuk mengakses getTemp fungsi layanan Web DemoTemperatureService.
Nota
Kode ini tidak berfungsi di aplikasi Web, karena ASP.NET tidak mendukung objek.My.WebServices
Memanggil layanan Web secara asinkron
Referensikan layanan Web DemoTemperatureService di
http://www.xmethods.net. Alamatnya adalahhttp://www.xmethods.net/sd/2001/DemoTemperatureService.wsdlTambahkan penanganan aktivitas untuk peristiwa
getTempCompleted:Private Sub getTempCompletedHandler(ByVal sender As Object, ByVal e As net.xmethods.www.getTempCompletedEventArgs) MsgBox("Temperature: " & e.Result) End SubNota
Anda tidak dapat menggunakan
Handlespernyataan untuk mengaitkan pengendali acara dengan acara pada objekMy.WebServices.Tambahkan bidang untuk melacak apakah penanganan aktivitas telah ditambahkan ke
getTempCompletedperistiwa:Private handlerAttached As Boolean = FalseTambahkan metode untuk menambahkan penanganan aktivitas ke
getTempCompletedperistiwa, jika perlu, dan untuk memanggilgetTempAsyncmetode :Sub CallGetTempAsync(ByVal zipCode As Integer) If Not handlerAttached Then AddHandler My.WebServices. TemperatureService.getTempCompleted, AddressOf Me.TS_getTempCompleted handlerAttached = True End If My.WebServices.TemperatureService.getTempAsync(zipCode) End SubUntuk memanggil metode Web
getTempsecara asinkron, panggil metodeCallGetTempAsync. Ketika metode Web selesai, nilai pengembaliannya diteruskan ke penanganangetTempCompletedHandleraktivitas.