OperationContextScope Constructores
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.