ClientRuntime 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.
Mewakili titik penyisipan untuk kelas yang memperluas fungsionalitas objek klien Windows Communication Foundation (WCF) untuk semua pesan yang ditangani oleh aplikasi klien.
public ref class ClientRuntime sealed
public ref class ClientRuntime sealed : System::ServiceModel::Dispatcher::ClientRuntimeCompatBase
public sealed class ClientRuntime
public sealed class ClientRuntime : System.ServiceModel.Dispatcher.ClientRuntimeCompatBase
type ClientRuntime = class
type ClientRuntime = class
inherit ClientRuntimeCompatBase
Public NotInheritable Class ClientRuntime
Public NotInheritable Class ClientRuntime
Inherits ClientRuntimeCompatBase
- Warisan
-
ClientRuntime
- Warisan
Contoh
Dalam contoh kode berikut, menyisipkan System.ServiceModel.Description.IEndpointBehaviorSystem.ServiceModel.Dispatcher.IClientMessageInspector ke dalam runtime klien dengan menambahkannya ke MessageInspectors properti .
#region IEndpointBehavior Members
public void AddBindingParameters(
ServiceEndpoint endpoint, BindingParameterCollection bindingParameters
) { return; }
public void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime)
{
clientRuntime.MessageInspectors.Add(new Inspector());
foreach (ClientOperation op in clientRuntime.Operations)
op.ParameterInspectors.Add(new Inspector());
}
public void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher)
{
endpointDispatcher.DispatchRuntime.MessageInspectors.Add(new Inspector());
foreach (DispatchOperation op in endpointDispatcher.DispatchRuntime.Operations)
op.ParameterInspectors.Add(new Inspector());
}
public void Validate(ServiceEndpoint endpoint){ return; }
#Region "IEndpointBehavior Members"
Public Sub AddBindingParameters(ByVal endpoint As ServiceEndpoint, ByVal bindingParameters _
As BindingParameterCollection) Implements IEndpointBehavior.AddBindingParameters
Return
End Sub
Public Sub ApplyClientBehavior(ByVal endpoint As ServiceEndpoint, ByVal clientRuntime As ClientRuntime) _
Implements IEndpointBehavior.ApplyClientBehavior
clientRuntime.MessageInspectors.Add(New Inspector())
For Each op As ClientOperation In clientRuntime.Operations
op.ParameterInspectors.Add(New Inspector())
Next op
End Sub
Public Sub ApplyDispatchBehavior(ByVal endpoint As ServiceEndpoint, ByVal endpointDispatcher As _
EndpointDispatcher) Implements IEndpointBehavior.ApplyDispatchBehavior
endpointDispatcher.DispatchRuntime.MessageInspectors.Add(New Inspector())
For Each op As DispatchOperation In endpointDispatcher.DispatchRuntime.Operations
op.ParameterInspectors.Add(New Inspector())
Next op
End Sub
Public Sub Validate(ByVal endpoint As ServiceEndpoint) Implements IEndpointBehavior.Validate
Return
End Sub
Contoh kode berikut menunjukkan file konfigurasi yang memuat perilaku titik akhir ke titik akhir klien.
<client>
<endpoint
address="http://localhost:8080/SampleService"
behaviorConfiguration="clientInspectorsAdded"
binding="wsHttpBinding"
bindingConfiguration="WSHttpBinding_ISampleService"
contract="ISampleService"
name="WSHttpBinding_ISampleService"
>
</endpoint>
</client>
<behaviors>
<endpointBehaviors>
<behavior name="clientInspectorsAdded">
<clientInterceptors />
</behavior>
</endpointBehaviors>
</behaviors>
<extensions>
<behaviorExtensions>
<add
name="clientInterceptors"
type="Microsoft.WCF.Documentation.InspectorInserter, HostApplication, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
/>
</behaviorExtensions>
</extensions>
Keterangan
Objek klien WCF, baik ekstensi ClientBase<TChannel> dari atau IClientChannel, digunakan oleh aplikasi klien Windows Communication Foundation (WCF) untuk mengonversi panggilan metode menjadi pesan keluar dan mengonversi pesan masuk ke objek dan meneruskannya ke hasil metode klien.
Kelas ClientRuntime adalah titik ekstensibilitas tempat Anda dapat menambahkan objek ekstensi yang mencegat pesan dan memperluas perilaku klien di semua operasi. Objek intersepsi dapat memproses semua pesan dalam kontrak tertentu, hanya memproses pesan untuk operasi tertentu, melakukan inisialisasi saluran kustom, dan menerapkan perilaku aplikasi klien kustom lainnya. Untuk gambaran umum arsitektur klien, lihat Arsitektur Klien WCF. Untuk informasi selengkapnya tentang pemrograman klien, lihat Mengakses Layanan Menggunakan Klien WCF. Untuk detail tentang penyesuaian dan cara melakukannya, lihat Memperluas Klien.
Properti CallbackDispatchRuntime mengembalikan objek run-time pengiriman untuk operasi panggilan balik yang dimulai layanan.
Properti OperationSelector menerima objek pemilih operasi kustom untuk mengontrol perutean pesan klien.
Properti ChannelInitializers memungkinkan penambahan penginisialisasi saluran yang dapat memeriksa atau memodifikasi saluran klien.
Properti InteractiveChannelInitializers dapat digunakan untuk menampilkan perintah visual untuk memungkinkan pengguna memilih kredensial sebelum membuka saluran.
Properti Operations mengambil koleksi ClientOperation objek yang memungkinkan Anda menambahkan interseptor pesan kustom yang menyediakan fungsionalitas khusus untuk pesan dari operasi tersebut.
Properti ManualAddressing memungkinkan aplikasi menonaktifkan beberapa header alamat otomatis untuk mengontrol alamat secara langsung.
Properti MaxFaultSize memungkinkan klien membatasi ukuran pesan kesalahan yang diterima klien.
Properti MessageInspectors mendapatkan kumpulan IClientMessageInspector objek yang dapat Anda tambahkan pencegat pesan kustom untuk semua pesan yang bepergian melalui klien.
Properti UnhandledClientOperation mengembalikan operasi tempat pesan tak terduga diteruskan.
Properti ValidateMustUnderstand menginformasikan sistem apakah harus mengonfirmasi bahwa header SOAP yang ditandai sebagai
MustUnderstandtelah, pada kenyataannya, telah dipahami.Properti Via menetapkan nilai tujuan pesan di tingkat transportasi untuk mendukung perantara dan skenario lainnya.
Selain itu, ada sejumlah properti lain yang mengambil informasi kontrak klien:
Jika klien adalah klien dupleks, properti berikut juga mengambil jenis panggilan balik klien dan runtime:
Properti
| Nama | Deskripsi |
|---|---|
| CallbackClientType |
Mendapatkan atau mengatur jenis kontrak panggilan balik yang terkait dengan klien dupleks. |
| CallbackDispatchRuntime |
Mendapatkan run-time pengiriman yang mengirimkan operasi yang dimulai layanan. |
| ChannelInitializers |
Mendapatkan kumpulan objek penginisialisasi saluran yang digunakan untuk menyesuaikan saluran yang terkait dengan klien. |
| ClientMessageInspectors |
Mendapatkan kumpulan objek pemeriksa pesan yang digunakan untuk melihat atau memodifikasi pesan dari operasi layanan tertentu. |
| ClientOperations |
Mendapatkan kumpulan objek operasi klien yang digunakan untuk melampirkan objek ekstensi yang memeriksa atau memodifikasi pesan dan perilaku operasi layanan tertentu. |
| ContractClientType |
Mendapatkan atau mengatur jenis kontrak yang terkait dengan klien. |
| ContractName |
Mendapatkan nama kontrak yang terkait dengan klien. |
| ContractNamespace |
Mendapatkan namespace kontrak yang terkait dengan klien. |
| InteractiveChannelInitializers |
Mendapatkan koleksi penginisialisasi saluran interaktif. |
| ManualAddressing |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah klien menambahkan header alamat ke pesan balasan permintaan. |
| MaxFaultSize |
Mendapatkan atau mengatur ukuran kesalahan maksimum. |
| MessageInspectors |
Mendapatkan kumpulan implementasi pemeriksa pesan untuk klien. |
| MessageVersionNoneFaultsEnabled |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah properti MessageVersionNoneFaultsEnabled diatur. |
| Operations |
Mendapatkan kumpulan operasi klien untuk klien. |
| OperationSelector |
Mendapatkan atau mengatur IClientOperationSelector implementasi yang dapat digunakan untuk memilih ClientOperation. |
| UnhandledClientOperation |
Mendapatkan operasi klien untuk metode yang tidak memiliki yang sesuai ClientOperation dalam Operations koleksi. |
| ValidateMustUnderstand |
Mendapatkan atau menetapkan nilai yang menentukan apakah sistem atau aplikasi memberlakukan pemrosesan header SOAP |
| Via |
Mendapatkan atau mengatur alamat transportasi yang digunakan untuk mengirim pesan melalui klien. |
Metode
| Nama | Deskripsi |
|---|---|
| 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 Type instans saat ini. (Diperoleh dari Object) |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |