Bagikan melalui


DispatchRuntime Kelas

Definisi

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:

  1. Transformasi pesan masuk menjadi objek dan merilis objek tersebut sebagai pemanggilan metode pada objek layanan.

  2. 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:

  1. 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.

  2. Komponen pesan dikustomisasi untuk setiap pesan yang diproses. Kategori ini mencakup properti MessageInspectors, OperationSelector, Operations, dan ErrorHandlers.

  3. 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.

  4. Komponen terkait keamanan dapat menggunakan properti berikut:

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)

Berlaku untuk