Bagikan melalui


ClientRuntime Kelas

Definisi

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 MustUnderstand telah, 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 MustUnderstand .

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)

Berlaku untuk