ClientRuntime ClientRuntime ClientRuntime ClientRuntime Class

Определение

Представляет точку вставки для классов, расширяющих функциональность клиентских объектов Windows Communication Foundation (WCF) для всех сообщений, обрабатываемых клиентским приложением.Represents the insertion point for classes that extend the functionality of Windows Communication Foundation (WCF) client objects for all messages handled by a client application.

public ref class ClientRuntime sealed
public sealed class ClientRuntime
type ClientRuntime = class
Public NotInheritable Class ClientRuntime
Наследование
ClientRuntimeClientRuntimeClientRuntimeClientRuntime

Примеры

В следующем примере кода System.ServiceModel.Description.IEndpointBehavior вставляет System.ServiceModel.Dispatcher.IClientMessageInspector в клиентскую среду выполнения, добавляя его в свойство MessageInspectors.In the following code example an System.ServiceModel.Description.IEndpointBehavior inserts a System.ServiceModel.Dispatcher.IClientMessageInspector into the client runtime by adding it to the MessageInspectors property.

#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

В следующем примере кода показан файл конфигурации, который загружает поведение конечной точки в конечную точку клиента.The following code example shows a configuration file that loads the endpoint behavior into the client endpoint.

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

Комментарии

Клиентские объекты WCF (расширение ClientBase<TChannel> или из IClientChannel) используются клиентскими приложениями Windows Communication Foundation (WCF) для преобразования вызовов методов в исходящие сообщения и преобразования входящих сообщений в объекты и передачи их в результаты клиентских методов.WCF client objects, whether an extension of ClientBase<TChannel> or of IClientChannel, are used by Windows Communication Foundation (WCF) client applications to convert method calls into outbound messages and convert incoming messages to objects and pass them to the results of client methods.

Класс ClientRuntime является точкой расширения, в которую можно добавить объекты расширения, перехватывающие сообщения и расширяющие клиентскую функциональность во всех операциях.The ClientRuntime class is an extensibility point to which you can add extension objects that intercept messages and extend client behavior across all operations. Объекты перехвата могут обрабатывать все сообщения в определенном контракте, обрабатывать только сообщения для определенных операций, выполнять инициализацию пользовательского канала, а также реализовывать другие варианты функциональности пользовательского клиентского приложения.Interception objects can process all messages in a particular contract, process only messages for particular operations, perform custom channel initialization, and implement other custom client application behavior. Общие сведения об архитектуре клиента см. в статье Клиентская архитектура WCF.For an overview of client architecture, see WCF Client Architecture. Дополнительные сведения о программировании клиентов см. в разделе доступ к службам с помощью клиента WCF.For more information about client programming, see Accessing Services Using a WCF Client. Дополнительные сведения о настройках и способах их выполнения см. в разделе расширение клиентов.For details about customizations and how to perform them, see Extending Clients.

  • Свойство CallbackDispatchRuntime возвращает объект диспетчеризации времени выполнения для операций обратного вызова, инициируемых службой.The CallbackDispatchRuntime property returns the dispatch run-time object for service-initiated callback operations.

  • Свойство OperationSelector принимает пользовательский объект выбора операции для управления маршрутизацией клиентских сообщений.The OperationSelector property accepts a custom operation selector object to control the routing of client messages.

  • Свойство ChannelInitializers позволяет добавлять инициализатор канала, который может проверять или изменять клиентский канал.The ChannelInitializers property enables the addition of a channel initializer that can inspect or modify the client channel.

  • Свойство InteractiveChannelInitializers можно использовать для отображения визуального запроса, который позволяет пользователю выбрать учетные данные перед открытием канала.The InteractiveChannelInitializers property can be used to display a visual prompt to enable a user to select credentials prior to opening the channel.

  • Свойство Operations возвращает коллекцию объектов ClientOperation, в которую можно добавить пользовательские перехватчики сообщений, предоставляющие функциональность в соответствии с сообщениями данной операции.The Operations property gets a collection of ClientOperation objects to which you can add custom message interceptors that provide functionality specific to the messages of that operation.

  • Свойство ManualAddressing позволяет приложению отключать некоторые заголовки автоматической адресации для управления адресацией напрямую.The ManualAddressing property enables an application to turn off some automatic addressing headers to directly control addressing.

  • Свойство MaxFaultSize позволяет клиенту ограничивать размер сообщений об ошибках, которые он принимает.The MaxFaultSize property enables the client to limit the size of fault messages that the client accepts.

  • Свойство MessageInspectors возвращает коллекцию объектов IClientMessageInspector, в которую можно добавить пользовательские перехватчики сообщений для всех сообщений, проходящих через клиент.The MessageInspectors property gets a collection of IClientMessageInspector objects to which you can add custom message interceptors for all messages traveling through a client.

  • Свойство UnhandledClientOperation возвращает операцию, которой передаются непредвиденные сообщения.The UnhandledClientOperation property returns the operation to which unexpected messages are passed.

  • Свойство ValidateMustUnderstand сообщает системе, должна ли она подтверждать, что заголовки SOAP, отмеченные как MustUnderstand, фактически были поняты.The ValidateMustUnderstand property informs the system whether it should confirm that SOAP headers marked as MustUnderstand have, in fact, been understood.

  • Свойство Via задает значение назначения сообщения на уровне транспорта для поддержки посредников и других сценариев.The Via property sets the value of the destination of the message at the transport level to support intermediaries and other scenarios.

Кроме того, существует несколько других свойств, которые извлекают данные о клиентском контракте:In addition, there are a number of other properties that retrieve the client contract information:

Если клиент является дуплексным, то следующие свойства также извлекают тип и среду выполнения обратного вызова клиента:If the client is a duplex client, the following properties also retrieve the client callback type and runtime:

Свойства

CallbackClientType CallbackClientType CallbackClientType CallbackClientType

Возвращает или задает тип контракта обратного вызова, связанного с дуплексным клиентом.Gets or sets the type of the callback contract associated with a duplex client.

CallbackDispatchRuntime CallbackDispatchRuntime CallbackDispatchRuntime CallbackDispatchRuntime

Возвращает объект диспетчеризации времени выполнения, который осуществляет диспетчеризацию операций, инициируемых службой.Gets the dispatch run-time that dispatches service-initiated operations.

ChannelInitializers ChannelInitializers ChannelInitializers ChannelInitializers

Возвращает коллекцию объектов инициализации канала, используемых для настройки канала, связанного с клиентом.Gets a collection of channel initializer objects used to customize the channel associated with a client.

ClientMessageInspectors ClientMessageInspectors ClientMessageInspectors ClientMessageInspectors

Получает коллекцию объектов инспектора сообщений, используемых для просмотра или изменения сообщений определенной операции службы.Gets a collection of message inspector objects used to view or modify messages of a particular service operation.

ClientOperations ClientOperations ClientOperations ClientOperations

Получает коллекцию объектов операции клиента, используемых для вложения объектов расширения, которые проверяют или изменяют сообщения и поведение определенной операции службы.Gets a collection of client operation objects used to attach extension objects that inspect or modify messages and behavior of a particular service operation.

ContractClientType ContractClientType ContractClientType ContractClientType

Получает или задает тип контракта, связанного с клиентом.Gets or sets the type of the contract associated with a client.

ContractName ContractName ContractName ContractName

Возвращает имя контракта, связанного с клиентом.Gets the name of the contract associated with a client.

ContractNamespace ContractNamespace ContractNamespace ContractNamespace

Возвращает пространство имен контракта, связанного с клиентом.Gets the namespace of the contract associated with a client.

InteractiveChannelInitializers InteractiveChannelInitializers InteractiveChannelInitializers InteractiveChannelInitializers

Получает коллекцию интерактивных инициализаторов канала.Gets a collection of an interactive channel initializer.

ManualAddressing ManualAddressing ManualAddressing ManualAddressing

Возвращает или задает значение, указывающее, добавляет ли клиент заголовки адресации в сообщения типа запрос-ответ.Gets or sets a value that indicates whether the client adds addressing headers to request-reply messages.

MaxFaultSize MaxFaultSize MaxFaultSize MaxFaultSize

Возвращает или задает максимальный размер ошибки.Gets or sets the maximum fault size.

MessageInspectors MessageInspectors MessageInspectors MessageInspectors

Возвращает коллекцию реализаций инспектора сообщений для клиента.Gets a collection of message inspector implementations for a client.

MessageVersionNoneFaultsEnabled MessageVersionNoneFaultsEnabled MessageVersionNoneFaultsEnabled MessageVersionNoneFaultsEnabled

Получает или задает значение, указывающее, задано ли свойство MessageVersionNoneFaultsEnabled.Gets or sets a value that indicates whether the MessageVersionNoneFaultsEnabled property is set.

Operations Operations Operations Operations

Возвращает коллекцию клиентских операций для клиента.Gets a collection of client operations for a client.

OperationSelector OperationSelector OperationSelector OperationSelector

Получает или задает реализацию IClientOperationSelector, которую можно использовать для выбора ClientOperation.Gets or sets an IClientOperationSelector implementation that can be used to select a ClientOperation.

UnhandledClientOperation UnhandledClientOperation UnhandledClientOperation UnhandledClientOperation

Получает клиентскую операцию для методов, не имеющих соответствующего объекта ClientOperation в коллекции Operations.Gets the client operation for methods that do not have a corresponding ClientOperation in the Operations collection.

ValidateMustUnderstand ValidateMustUnderstand ValidateMustUnderstand ValidateMustUnderstand

Возвращает или задает значение, определяющее, кем выполняется принудительная обработка заголовка SOAP MustUnderstand: системой или приложением.Gets or sets a value that specifies whether the system or the application enforces SOAP MustUnderstand header processing.

Via Via Via Via

Возвращает или задает адрес транспорта, который используется для отправки сообщений через клиент.Gets or sets the transport address that is used to send messages through the client.

Методы

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

Применяется к