IInteractiveChannelInitializer Antarmuka
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.
Menentukan metode yang memungkinkan aplikasi klien menampilkan antarmuka pengguna untuk mengumpulkan informasi identitas sebelum membuat saluran.
public interface class IInteractiveChannelInitializer
public interface IInteractiveChannelInitializer
type IInteractiveChannelInitializer = interface
Public Interface IInteractiveChannelInitializer
- Turunan
Keterangan
Terapkan IInteractiveChannelInitializer antarmuka untuk mengaktifkan aplikasi klien untuk menampilkan antarmuka pengguna yang memungkinkan pengguna aplikasi membuat atau memilih kredensial sebelum membuka saluran.
Untuk menerapkan IInteractiveChannelInitializer, lakukan langkah-langkah berikut di IInteractiveChannelInitializer.BeginDisplayInitializationUI:
Minta pengguna dan dapatkan yang sesuai System.Net.NetworkCredential.
Tambahkan objek parameter saluran kustom ke koleksi yang dikembalikan oleh IChannel.GetProperty metode pada IClientChannel objek dengan parameter System.ServiceModel.Channels.ChannelParameterCollectionjenis . Objek parameter saluran ini digunakan oleh kustom System.ServiceModel.ClientCredentialsSecurityTokenManager untuk membuat token keamanan untuk saluran.
Kembali.
Untuk menyisipkan IInteractiveChannelInitializer:
Ambil alih IEndpointBehavior.ApplyClientBehavior metode pada System.ServiceModel.Description.ClientCredentials kelas .
Dalam metode itu, tentukan apakah titik akhir memerlukan IInteractiveChannelInitializer dan jika demikian, tambahkan ke IInteractiveChannelInitializerClientRuntime.InteractiveChannelInitializers koleksi.
Ada dua cara pengembang aplikasi dapat menggunakan sisipan IInteractiveChannelInitializer. Aplikasi klien dapat memanggil atau ClientBase<TChannel>.DisplayInitializationUIIClientChannel.DisplayInitializationUI (atau versi asinkron) sebelum membuka saluran (pendekatan eksplisit ) atau hanya memanggil operasi pertama (pendekatan implisit ).
Jika menggunakan pendekatan implisit, aplikasi harus memanggil operasi pertama pada ClientBase<TChannel> ekstensi atau IClientChannel . Jika memanggil apa pun selain operasi pertama, pengecualian akan dilemparkan.
Jika menggunakan pendekatan eksplisit, aplikasi harus melakukan langkah-langkah berikut secara berurutan:
Panggil salah satu dari ClientBase<TChannel>.DisplayInitializationUI atau IClientChannel.DisplayInitializationUI (atau versi asinkron).
Saat penginisialisasi selesai, panggil metode Open pada objek IClientChannel atau pada objek yang dikembalikan dari properti IClientChannel melalui ClientBase<TChannel>.InnerChannel.
Pengoperasian panggilan.
Disarankan agar aplikasi berkualitas produksi mengontrol proses antarmuka pengguna dengan mengadopsi pendekatan eksplisit.
Aplikasi yang menggunakan pendekatan implisit memanggil penginisialisasi antarmuka pengguna, tetapi jika pengguna aplikasi gagal merespons dalam batas waktu pengiriman yang ditetapkan oleh pengikatan, kesalahan akan terjadi saat antarmuka pengguna kembali.
Metode
| Nama | Deskripsi |
|---|---|
| BeginDisplayInitializationUI(IClientChannel, AsyncCallback, Object) |
Panggilan asinkron untuk mulai menggunakan antarmuka pengguna untuk mendapatkan informasi kredensial. |
| EndDisplayInitializationUI(IAsyncResult) |
Dipanggil ketika BeginDisplayInitializationUI(IClientChannel, AsyncCallback, Object) telah selesai. |