Compartir vía


OperationContextScope Constructores

Definición

Inicializa una nueva instancia de la clase OperationContextScope.

Sobrecargas

Nombre Description
OperationContextScope(IContextChannel)

Inicializa una nueva instancia de la OperationContextScope clase que usa el objeto especificado IContextChannel para crear un nuevo OperationContext para el ámbito.

OperationContextScope(OperationContext)

Inicializa una nueva instancia de la OperationContextScope clase para crear un ámbito para el objeto especificado OperationContext .

OperationContextScope(IContextChannel)

Source:
OperationContextScope.cs
Source:
OperationContextScope.cs
Source:
OperationContextScope.cs

Inicializa una nueva instancia de la OperationContextScope clase que usa el objeto especificado IContextChannel para crear un nuevo OperationContext para el ámbito.

public:
 OperationContextScope(System::ServiceModel::IContextChannel ^ channel);
public OperationContextScope(System.ServiceModel.IContextChannel channel);
new System.ServiceModel.OperationContextScope : System.ServiceModel.IContextChannel -> System.ServiceModel.OperationContextScope
Public Sub New (channel As IContextChannel)

Parámetros

channel
IContextChannel

Canal que se va a usar al crear el ámbito de un nuevo OperationContext.

Ejemplos

En el ejemplo siguiente se muestra cómo usar OperationContextScope para crear un nuevo contexto en una aplicación cliente con el fin de agregar un encabezado personalizado al mensaje saliente.

SampleServiceClient wcfClient = new SampleServiceClient(new InstanceContext(this));
try
{
  using (OperationContextScope scope = new OperationContextScope(wcfClient.InnerChannel))
  {
    MessageHeader header
      = MessageHeader.CreateHeader(
      "Service-Bound-CustomHeader",
      "http://Microsoft.WCF.Documentation",
      "Custom Happy Value."
      );
    OperationContext.Current.OutgoingMessageHeaders.Add(header);

    // Making calls.
    Console.WriteLine("Enter the greeting to send: ");
    string greeting = Console.ReadLine();

    //Console.ReadLine();
    header = MessageHeader.CreateHeader(
        "Service-Bound-OneWayHeader",
        "http://Microsoft.WCF.Documentation",
        "Different Happy Value."
      );
    OperationContext.Current.OutgoingMessageHeaders.Add(header);

    // One-way
    wcfClient.Push(greeting);
    this.wait.WaitOne();

    // Done with service.
    wcfClient.Close();
    Console.WriteLine("Done!");
    Console.ReadLine();
  }
}
catch (TimeoutException timeProblem)
{
  Console.WriteLine("The service operation timed out. " + timeProblem.Message);
  Console.ReadLine();
  wcfClient.Abort();
}
catch (CommunicationException commProblem)
{
  Console.WriteLine("There was a communication problem. " + commProblem.Message);
  Console.ReadLine();
  wcfClient.Abort();
}
Dim wcfClient As New SampleServiceClient(New InstanceContext(Me))
Try
  Using scope As New OperationContextScope(wcfClient.InnerChannel)
            Dim header As MessageHeader = MessageHeader.CreateHeader("Service-Bound-CustomHeader", _
                                "http://Microsoft.WCF.Documentation", "Custom Happy Value.")
    OperationContext.Current.OutgoingMessageHeaders.Add(header)

    ' Making calls.
    Console.WriteLine("Enter the greeting to send: ")
    Dim greeting As String = Console.ReadLine()

    'Console.ReadLine();
            header = MessageHeader.CreateHeader("Service-Bound-OneWayHeader", _
                                                "http://Microsoft.WCF.Documentation", "Different Happy Value.")
    OperationContext.Current.OutgoingMessageHeaders.Add(header)

    ' One-way
    wcfClient.Push(greeting)
    Me.wait.WaitOne()

    ' Done with service. 
    wcfClient.Close()
    Console.WriteLine("Done!")
    Console.ReadLine()
  End Using
Catch timeProblem As TimeoutException
  Console.WriteLine("The service operation timed out. " & timeProblem.Message)
  Console.ReadLine()
  wcfClient.Abort()
Catch commProblem As CommunicationException
  Console.WriteLine("There was a communication problem. " & commProblem.Message)
  Console.ReadLine()
  wcfClient.Abort()
End Try

Comentarios

Use el OperationContextScope constructor para crear un nuevo OperationContext para un canal de cliente que se pueda usar para agregar o modificar encabezados de mensaje salientes, leer encabezados de mensaje entrantes o tener acceso a otras propiedades en tiempo de ejecución de OperationContext.

Los encabezados agregados a la OperationContext.IncomingMessageHeaders propiedad del recién creado OperationContext solo se aplican al canal que se pasó al OperationContextScope constructor. Si el usuario crea un nuevo canal dentro de su ámbito, los encabezados no se aplican a los mensajes enviados en el nuevo canal.

Se aplica a

OperationContextScope(OperationContext)

Source:
OperationContextScope.cs
Source:
OperationContextScope.cs
Source:
OperationContextScope.cs

Inicializa una nueva instancia de la OperationContextScope clase para crear un ámbito para el objeto especificado OperationContext .

public:
 OperationContextScope(System::ServiceModel::OperationContext ^ context);
public OperationContextScope(System.ServiceModel.OperationContext context);
new System.ServiceModel.OperationContextScope : System.ServiceModel.OperationContext -> System.ServiceModel.OperationContextScope
Public Sub New (context As OperationContext)

Parámetros

context
OperationContext

Activo OperationContext en el ámbito creado.

Comentarios

Use el OperationContextScope constructor para crear un bloque de código en el que el objeto especificado OperationContextScope es el ámbito actual.

Se aplica a