DispatchRuntime Kelas
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.
Mengekspos properti yang dapat digunakan untuk memodifikasi perilaku layanan default serta melampirkan objek kustom yang dapat memodifikasi bagaimana pesan masuk diubah menjadi objek dan dikirim ke operasi. Kelas ini tidak dapat diwariskan.
public ref class DispatchRuntime sealed
public sealed class DispatchRuntime
type DispatchRuntime = class
Public NotInheritable Class DispatchRuntime
- Warisan
-
DispatchRuntime
Keterangan
DispatchRuntime Gunakan kelas baik untuk mengubah perilaku default layanan atau titik akhir individual, atau untuk menyisipkan objek yang mengimplementasikan modifikasi kustom ke salah satu atau kedua proses layanan berikut:
Transformasi pesan masuk menjadi objek dan merilis objek tersebut sebagai pemanggilan metode pada objek layanan.
Transformasi objek yang diterima dari respons terhadap pemanggilan operasi layanan menjadi pesan keluar.
Di Windows Communication Foundation (WCF), dispatcher saluran dan titik akhir adalah komponen layanan yang bertanggung jawab untuk menerima saluran baru, menerima pesan, pengiriman metode dan pemanggilan, dan pemrosesan respons. Setiap titik akhir yang ServiceHost diekspos oleh objek memiliki satu dispatcher titik akhir dan dispatcher saluran terkait; selain itu, setiap klien yang berpartisipasi dalam komunikasi dupleks juga memiliki dispatcher titik akhir dan dispatcher saluran untuk setiap titik akhir panggilan balik.
DispatchRuntime memungkinkan Anda untuk mencegat dan memperluas dispatcher saluran atau titik akhir untuk semua pesan di seluruh kontrak tertentu, bahkan saat pesan tidak dikenali. Ketika pesan tiba yang tidak cocok dengan pesan apa pun yang dinyatakan dalam kontrak, pesan dikirim ke operasi yang dikembalikan oleh UnhandledDispatchOperation properti . Untuk mencegat atau memperluas semua pesan untuk operasi tertentu, lihat kelas DispatchOperation.
Ada empat area utama ekstensibilitas dispatcher yang diekspos oleh kelas DispatchRuntime:
Komponen pengiriman menggunakan properti dan DispatchRuntime yang dari dispatcher saluran terkait yang dikembalikan oleh ChannelDispatcher properti untuk menyesuaikan bagaimana dispatcher saluran menerima dan menutup saluran. Kategori ini mencakup properti ChannelInitializers dan InputSessionShutdownHandlers.
Komponen pesan dikustomisasi untuk setiap pesan yang diproses. Kategori ini mencakup properti MessageInspectors, OperationSelector, Operations, dan ErrorHandlers.
Komponen instans menyesuaikan pembuatan, masa pakai, dan pembuangan instans dari jenis layanan. Untuk informasi selengkapnya tentang masa pakai objek layanan, lihat properti InstanceContextMode. Kategori ini mencakup properti InstanceContextInitializers dan InstanceProvider.
Komponen terkait keamanan dapat menggunakan properti berikut:
SecurityAuditLogLocation menunjukkan tempat peristiwa audit ditulis.
ImpersonateCallerForAllOperations mengontrol apakah layanan mencoba menyamar menggunakan mandat yang disediakan oleh pesan masuk.
MessageAuthenticationAuditLevel mengontrol apakah peristiwa autentikasi pesan yang berhasil, ditulis ke log peristiwa yang ditentukan oleh SecurityAuditLogLocation.
PrincipalPermissionMode mengontrol bagaimana properti CurrentPrincipal diatur.
ServiceAuthorizationAuditLevel menentukan bagaimana audit peristiwa otorisasi dilakukan.
SuppressAuditFailure menentukan apakah akan menekan pengecualian non-kritis yang terjadi selama proses pengelogan.
Biasanya objek ekstensi kustom ditetapkan ke properti atau dimasukkan ke DispatchRuntime dalam koleksi oleh perilaku layanan (objek yang mengimplementasikan IServiceBehavior), perilaku kontrak (objek yang mengimplementasikan IContractBehavior), atau perilaku titik akhir (objek yang mengimplementasikan IEndpointBehavior). Kemudian objek perilaku penginstalan ditambahkan ke koleksi perilaku yang sesuai baik secara terprogram maupun dengan menerapkan objek BehaviorExtensionElement kustom untuk memungkinkan perilaku dimasukkan menggunakan file konfigurasi aplikasi.
Properti
AutomaticInputSessionShutdown |
Mendapatkan atau menetapkan nilai yang menentukan apakah layanan menutup sesi input saat klien menutup sesi output. |
CallbackClientRuntime |
ClientRuntime Mendapatkan objek yang mewakili titik penginstalan untuk ekstensi ke Windows Communication Foundation (WCF) untuk panggilan keluar ke titik akhir panggilan balik dupleks. |
ChannelDispatcher |
ChannelDispatcher Mendapatkan untuk objek run-time pengiriman ini. |
ConcurrencyMode |
Mendapatkan atau mengatur apakah instans layanan memproses pesan secara berurutan atau bersamaan. |
EndpointDispatcher |
EndpointDispatcher Mendapatkan untuk runtime pengiriman ini. |
EnsureOrderedDispatch |
Mendapatkan nilai yang menunjukkan apakah pesan akan dikirim dalam urutan pengiriman. |
ExternalAuthorizationPolicies |
Mendapatkan atau menetapkan kebijakan otorisasi eksternal yang menentukan sekumpulan aturan untuk mengotorisasi pengguna, dengan serangkaian klaim. |
IgnoreTransactionMessageProperty |
Mendapatkan atau mengatur apakah akan mengabaikan TransactionMessageProperty. |
ImpersonateCallerForAllOperations |
Mendapatkan atau menetapkan nilai yang mengontrol apakah layanan mencoba meniru menggunakan kredensial yang disediakan oleh pesan masuk. |
ImpersonateOnSerializingReply |
Mendapatkan nilai yang menunjukkan apakah peniruan digunakan pada operasi balasan serialisasi. |
InputSessionShutdownHandlers |
Mendapatkan kumpulan IInputSessionShutdown objek yang dapat digunakan untuk menambahkan handler kustom untuk mengontrol cara sesi input ditutup. |
InstanceContextInitializers |
Mendapatkan kumpulan IInstanceContextInitializer objek yang dapat digunakan untuk memeriksa atau memodifikasi InstanceContext objek saat pertama kali dibuat. |
InstanceContextProvider |
Mendapatkan atau mengatur yang IInstanceContextProvider akan digunakan oleh DispatchRuntime. |
InstanceProvider |
Mendapatkan atau mengatur IInstanceProvider objek yang dapat Anda gunakan untuk mengontrol pembuatan dan penghancuran objek layanan. |
MessageAuthenticationAuditLevel |
Mendapatkan atau menetapkan nilai yang menentukan apakah peristiwa autentikasi pesan yang berhasil ditulis ke log peristiwa yang ditentukan oleh SecurityAuditLogLocation. |
MessageInspectors |
Mendapatkan kumpulan IDispatchMessageInspector objek yang dapat digunakan untuk melampirkan pemeriksa pesan kustom untuk semua pesan masuk dan keluar di seluruh titik akhir. |
Operations |
Mendapatkan kumpulan DispatchOperation objek yang dapat digunakan untuk mengontrol perilaku eksekusi operasi tertentu. |
OperationSelector |
Mendapatkan atau mengatur IDispatchOperationSelector objek yang mengontrol pilihan tujuan DispatchOperation untuk pesan tertentu. |
PreserveMessage |
Mendapatkan atau mengatur apakah pesan dipertahankan. |
PrincipalPermissionMode |
Mendapatkan atau menetapkan nilai yang menentukan bagaimana CurrentPrincipal properti diatur. |
ReleaseServiceInstanceOnTransactionComplete |
Mendapatkan atau menetapkan nilai yang menentukan apakah objek layanan didaur ulang setelah transaksi berhasil diselesaikan. |
RoleProvider |
Mendapatkan atau mengatur kustom RoleProvider yang digunakan oleh DispatchRuntime. |
SecurityAuditLogLocation |
Mendapatkan atau mengatur lokasi log audit. |
ServiceAuthenticationManager |
Mendapatkan atau mengatur objek yang mengelola proses autentikasi untuk operasi layanan. |
ServiceAuthorizationAuditLevel |
Mendapatkan atau menetapkan nilai yang mengontrol peristiwa otorisasi layanan apa yang diaudit. |
ServiceAuthorizationManager |
ServiceAuthorizationManager Mendapatkan yang menyediakan pemeriksaan otorisasi untuk DispatchRuntime. |
SingletonInstanceContext |
Mendapatkan atau mengatur singleton IInstanceContextProvider yang akan digunakan oleh DispatchRuntime. |
SuppressAuditFailure |
Mendapatkan atau menetapkan nilai yang menentukan apakah akan menekan pengecualian non-kritis yang terjadi selama proses pengelogan. |
SynchronizationContext |
Mendapatkan atau mengatur konteks sinkronisasi yang digunakan untuk memanggil operasi layanan. |
TransactionAutoCompleteOnSessionClose |
Mendapatkan atau menetapkan nilai yang menentukan apakah akan secara otomatis menyelesaikan transaksi saat ini saat sesi ditutup. |
Type |
Mendapatkan atau mengatur jenis kontrak. |
UnhandledDispatchOperation |
Mendapatkan atau mengatur operasi tempat pesan yang tidak dikenal dikirim. |
ValidateMustUnderstand |
Mendapatkan atau menetapkan nilai ValidateMustUnderstand. |
Metode
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetType() |
Mendapatkan dari instans Type saat ini. (Diperoleh dari Object) |
MemberwiseClone() |
Membuat salinan dangkal dari saat ini Object. (Diperoleh dari Object) |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |