Aracılığıyla paylaş


ClientOperation Sınıf

Tanım

İstemci nesnesinde veya istemci kanalı nesnesinde belirli bir sözleşme işleminin yürütme davranışını değiştirmek veya genişletmek için kullanılır. Bu sınıf devralınamaz.

public ref class ClientOperation sealed
public ref class ClientOperation sealed : System::ServiceModel::Dispatcher::ClientOperationCompatBase
public sealed class ClientOperation
public sealed class ClientOperation : System.ServiceModel.Dispatcher.ClientOperationCompatBase
type ClientOperation = class
type ClientOperation = class
    inherit ClientOperationCompatBase
Public NotInheritable Class ClientOperation
Public NotInheritable Class ClientOperation
Inherits ClientOperationCompatBase
Devralma
ClientOperation
Devralma

Örnekler

Aşağıdaki kod örneği, özelliğindeki her ClientOperation birine özel parametre denetçisi ekleme işlemini ClientRuntime.Operations gösterirSystem.ServiceModel.Description.IEndpointBehavior.

#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

Açıklamalar

ClientOperation sınıfı, yalnızca bir hizmet işlemi kapsamındaki özel uzantılar için istemci çalışma zamanı değişikliklerinin ve ekleme noktasının konumudur. (Bir sözleşmedeki tüm iletiler için istemci çalışma zamanı davranışını değiştirmek için sınıfını ClientRuntime kullanın. )

Özel istemci davranışı nesnesini IContractBehavior kullanarak (değiştirilecek belirli bir işlemi bulmak için) veya türünde IOperationBehavior (daha sonra özel bir öznitelik oluşturularak uygulanabilir) değişiklikleri yükleyinClientOperation.

Belirli bir hizmet işlemini temsil eden Operations nesnesini bulmak için ClientOperation özelliğini kullanın.

İstemciler ve istemci mimarisi hakkında daha fazla bilgi için bkz. WCF İstemcisi ve WCF İstemci Mimarisi Kullanarak Hizmetlere Erişme. İstemci çalışma zamanını özelleştirme hakkında daha fazla bilgi için bkz. İstemcileri Genişletme. Davranışları kullanma hakkında daha fazla bilgi için bkz. Çalışma Zamanını Davranışlarla Yapılandırma ve Genişletme.

Aşağıdaki özellikler özel nesneler eklemenize veya istemci yürütme davranışını değiştirmenize olanak tanır:

  • Bir işlem için özel bir Formatter uygulama eklemek veya mevcut biçimlendiriciyi değiştirmek amacıyla IClientMessageFormatter özelliğini kullanın.

  • ParameterInspectors özel IParameterInspector bir uygulama eklemek veya geçerli uygulamayı değiştirmek için özelliğini kullanın.

  • SerializeRequest Giden iletiyi kimlerin serileştireceklerini denetlemek için özelliğini kullanın.

  • Gelen iletinin DeserializeReply seri durumdan çıkarıcısını denetlemek için özelliğini kullanın.

  • İstek iletisinin Action WS-Addressing eylemine erişmek için özelliğini ve ReplyAction yanıt iletisi eylemine erişmek için özelliğini kullanın.

  • BeginMethod zaman uyumsuz bir işlemle ilişkili istemci yöntemlerini belirtmek için ve EndMethod kullanın.

  • FaultContractInfos AYRıNTı türü olarak SOAP hatalarında görünebilen belirtilen türlerden oluşan bir koleksiyon almak için özelliğini kullanın.

  • IsInitiating ve IsTerminating özelliklerini, işlem çağrıldığında bir oturumun başlatılıp başlatılmayacağını veya sonlandırılıp sonlandırılmayacağını kontrol etmek için kullanın.

  • İstemcinin çağrıyı IsOneWay tamamlamadan önce yanıt bekleyip beklemediğini denetlemek için özelliğini kullanın.

  • Parent içeren ClientRuntime nesneyi almak için özelliğini kullanın.

  • İşlemin Name adını almak için özelliğini kullanın.

  • İşleme hangi yöntemin eşleneceğini control etmek için SyncMethod özelliğini kullanın.

Oluşturucular

Name Description
ClientOperation(ClientRuntime, String, String, String)

Belirtilen ClientRuntime, ad, eylem ve yanıt eylemi değerlerini kullanarak sınıfın yeni bir örneğini ClientOperation başlatır.

ClientOperation(ClientRuntime, String, String)

Belirtilen ClientRuntime, ad ve eylem değerlerini kullanarak sınıfın ClientOperation yeni bir örneğini başlatır.

Özellikler

Name Description
Action

İşlemin eylemini alır.

BeginMethod

Zaman uyumsuz bir işlemle ilişkili yöntemi alır veya ayarlar.

ClientParameterInspectors

İstemci çağrısından önce veya sonrasında parametreleri görüntülemek veya değiştirmek için kullanılan parametre denetçisi nesnelerinin koleksiyonunu alır.

DeserializeReply

Özellik değerinin yanıt iletisini seri durumdan Formatter çıkarmak için kullanılıp kullanılmadığını belirten bir değer alır veya ayarlar.

EndMethod

İşlem için zaman uyumsuz end yöntemini uygulayan yöntemi alır veya ayarlar.

FaultContractInfos

Bu işlem için belirtilen SOAP hatalarını temsil eden bir nesne koleksiyonu FaultContractInfo alır.

Formatter

Nesneleri iletilere seri hale getiren ve iletileri nesneler halinde seri durumdan çıkaran biçimlendiriciyi alır veya ayarlar.

IsInitiating

Oturumun bu işleme iletiyle başlatılıp başlatılmayacağını belirten bir değer alır veya ayarlar.

IsOneWay

İşlemin tek yönlü bir işlem olup olmadığını belirten bir değer alır veya ayarlar.

IsTerminating

Bu işlemin bir oturumdaki son işlem olup olmadığını gösteren bir değer alır veya ayarlar.

Name

İşlemin adını alır.

ParameterInspectors

Belirli bir istemci yöntemi için gelen ve giden nesneleri denetleyebilen ve değiştirebilen bir nesne koleksiyonunu IParameterInspector alır veya ayarlar.

Parent

İçeren ClientRuntime nesneyi alır.

ReplyAction

Bu işlem için yanıt iletisinin eylemini alır.

SerializeRequest

Nesnenin Formatter giden iletiyi seri hale getirip getirmediğini belirten bir değer alır veya ayarlar.

SyncMethod

Bu işlemle ilişkili yöntemi alır veya ayarlar.

TaskMethod

Bir görevle ilişkili yöntemi alır veya ayarlar.

TaskTResult

Bir görevle ilişkili yöntemin sonucunun türünü alır veya ayarlar.

Yöntemler

Name Description
Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır