NetMsmqBinding Clase
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í.
Representa un enlace en cola que es adecuado para la comunicación entre máquinas.
public ref class NetMsmqBinding : System::ServiceModel::MsmqBindingBase
public class NetMsmqBinding : System.ServiceModel.MsmqBindingBase
type NetMsmqBinding = class
inherit MsmqBindingBase
Public Class NetMsmqBinding
Inherits MsmqBindingBase
- Herencia
Ejemplos
En el ejemplo siguiente se muestra cómo configurar un servicio para usar el NetMsmqBinding enlace.
En primer lugar, el archivo de configuración.
A continuación, el código de servicio real.
// Define a service contract.
[ServiceContract(Namespace="http://Microsoft.ServiceModel.Samples")]
public interface IQueueCalculator
{
[OperationContract(IsOneWay=true)]
void Add(double n1, double n2);
[OperationContract(IsOneWay = true)]
void Subtract(double n1, double n2);
[OperationContract(IsOneWay = true)]
void Multiply(double n1, double n2);
[OperationContract(IsOneWay = true)]
void Divide(double n1, double n2);
}
' Define a service contract.
<ServiceContract(Namespace:="http://Microsoft.ServiceModel.Samples")> _
Public Interface IQueueCalculator
<OperationContract(IsOneWay:=True)> _
Sub Add(ByVal n1 As Double, ByVal n2 As Double)
<OperationContract(IsOneWay := True)> _
Sub Subtract(ByVal n1 As Double, ByVal n2 As Double)
<OperationContract(IsOneWay := True)> _
Sub Multiply(ByVal n1 As Double, ByVal n2 As Double)
<OperationContract(IsOneWay := True)> _
Sub Divide(ByVal n1 As Double, ByVal n2 As Double)
End Interface
// Service class that implements the service contract.
// Added code to write output to the console window
public class CalculatorService : IQueueCalculator
{
[OperationBehavior]
public void Add(double n1, double n2)
{
double result = n1 + n2;
Console.WriteLine("Received Add({0},{1}) - result: {2}", n1, n2, result);
}
[OperationBehavior]
public void Subtract(double n1, double n2)
{
double result = n1 - n2;
Console.WriteLine("Received Subtract({0},{1}) - result: {2}", n1, n2, result);
}
[OperationBehavior]
public void Multiply(double n1, double n2)
{
double result = n1 * n2;
Console.WriteLine("Received Multiply({0},{1}) - result: {2}", n1, n2, result);
}
[OperationBehavior]
public void Divide(double n1, double n2)
{
double result = n1 / n2;
Console.WriteLine("Received Divide({0},{1}) - result: {2}", n1, n2, result);
}
}
' Service class that implements the service contract.
' Added code to write output to the console window
Public Class CalculatorService
Implements IQueueCalculator
<OperationBehavior> _
Public Sub Add(ByVal n1 As Double, ByVal n2 As Double) Implements IQueueCalculator.Add
Dim result As Double = n1 + n2
Console.WriteLine("Received Add({0},{1}) - result: {2}", n1, n2, result)
End Sub
<OperationBehavior> _
Public Sub Subtract(ByVal n1 As Double, ByVal n2 As Double) Implements IQueueCalculator.Subtract
Dim result As Double = n1 - n2
Console.WriteLine("Received Subtract({0},{1}) - result: {2}", n1, n2, result)
End Sub
<OperationBehavior> _
Public Sub Multiply(ByVal n1 As Double, ByVal n2 As Double) Implements IQueueCalculator.Multiply
Dim result As Double = n1 * n2
Console.WriteLine("Received Multiply({0},{1}) - result: {2}", n1, n2, result)
End Sub
<OperationBehavior> _
Public Sub Divide(ByVal n1 As Double, ByVal n2 As Double) Implements IQueueCalculator.Divide
Dim result As Double = n1 / n2
Console.WriteLine("Received Divide({0},{1}) - result: {2}", n1, n2, result)
End Sub
End Class
// This is the hosting application. This code can appear directly in the service class as well.
class HostApp
{
// Host the service within this EXE console application.
public static void Main()
{
// Get MSMQ queue name from appsettings in configuration.
string queueName = ConfigurationManager.AppSettings["queueName"];
// Create the transacted MSMQ queue if necessary.
if (!MessageQueue.Exists(queueName))
MessageQueue.Create(queueName, true);
// Get the base address that is used to listen for WS-MetaDataExchange requests.
// This is useful to generate a proxy for the client.
string baseAddress = ConfigurationManager.AppSettings["baseAddress"];
// Create a ServiceHost for the CalculatorService type.
using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), new Uri(baseAddress)))
{
// Open the ServiceHostBase to create listeners and start listening for messages.
serviceHost.Open();
// The service can now be accessed.
Console.WriteLine("The service is ready.");
Console.WriteLine("Press <ENTER> to terminate service.");
Console.WriteLine();
Console.ReadLine();
// Close the ServiceHostBase to shutdown the service.
serviceHost.Close();
}
}
}
' This is the hosting application. This code can appear directly in the service class as well.
Friend Class HostApp
' Host the service within this EXE console application.
Public Shared Sub Main()
' Get MSMQ queue name from appsettings in configuration.
Dim queueName As String = ConfigurationManager.AppSettings("queueName")
' Create the transacted MSMQ queue if necessary.
If (Not MessageQueue.Exists(queueName)) Then
MessageQueue.Create(queueName, True)
End If
' Get the base address that is used to listen for WS-MetaDataExchange requests.
' This is useful to generate a proxy for the client.
Dim baseAddress As String = ConfigurationManager.AppSettings("baseAddress")
' Create a ServiceHost for the CalculatorService type.
Using serviceHost As New ServiceHost(GetType(CalculatorService), New Uri(baseAddress))
' Open the ServiceHostBase to create listeners and start listening for messages.
serviceHost.Open()
' The service can now be accessed.
Console.WriteLine("The service is ready.")
Console.WriteLine("Press <ENTER> to terminate service.")
Console.WriteLine()
Console.ReadLine()
' Close the ServiceHostBase to shutdown the service.
serviceHost.Close()
End Using
End Sub
End Class
Comentarios
El NetMsmqBinding enlace proporciona compatibilidad con la puesta en cola mediante Message Queuing (MSMQ) como transporte y permite la compatibilidad con aplicaciones acopladas de forma flexible, aislamiento de errores, operaciones de nivelación de carga y desconectadas. Para obtener una explicación de estas características, consulte Información general sobre colas.
Se trata de uno de los enlaces proporcionados por el sistema proporcionados por Windows Communication Foundation (WCF). El procedimiento recomendado es definir el enlace mediante valores de configuración y no usar un enfoque basado en código, excepto en determinados escenarios avanzados en los que se deben establecer valores de configuración como servicio.
Constructores
| Nombre | Description |
|---|---|
| NetMsmqBinding() |
Inicializa una nueva instancia de la clase NetMsmqBinding. |
| NetMsmqBinding(NetMsmqSecurityMode) |
Inicializa una nueva instancia de la NetMsmqBinding clase mediante el modo de seguridad especificado. |
| NetMsmqBinding(String) |
Inicializa una nueva instancia de la NetMsmqBinding clase a partir de la configuración de un elemento de enlace de configuración especificado. |
Propiedades
| Nombre | Description |
|---|---|
| CloseTimeout |
Obtiene o establece el intervalo de tiempo proporcionado para que una conexión se cierre antes de que el transporte genere una excepción. (Heredado de Binding) |
| CustomDeadLetterQueue |
Obtiene o establece un URI que contiene la ubicación de la cola de mensajes fallidos para cada aplicación, donde se colocan los mensajes que han expirado o que han producido errores de transferencia o entrega. (Heredado de MsmqBindingBase) |
| DeadLetterQueue |
Obtiene o establece un valor de enumeración que indica el tipo de cola de mensajes fallidos que se va a usar. (Heredado de MsmqBindingBase) |
| Durable |
Obtiene o establece un valor que indica si los mensajes procesados por este enlace son duraderos o volátiles. (Heredado de MsmqBindingBase) |
| EnvelopeVersion |
Obtiene la versión de SOAP que se usa para los mensajes procesados por este enlace. |
| ExactlyOnce |
Obtiene o establece un valor que indica si los mensajes procesados por este enlace se reciben exactamente una vez. (Heredado de MsmqBindingBase) |
| MaxBufferPoolSize |
Obtiene o establece la cantidad máxima de memoria asignada para su uso por el administrador de búferes de mensajes que recibe mensajes del canal. |
| MaxReceivedMessageSize |
Obtiene o establece el tamaño máximo, en bytes, de un mensaje procesado por este enlace. (Heredado de MsmqBindingBase) |
| MaxRetryCycles |
Obtiene o establece el número máximo de ciclos de reintento para intentar la entrega de mensajes a la aplicación receptora. (Heredado de MsmqBindingBase) |
| MessageVersion |
Obtiene la versión del mensaje utilizada por clientes y servicios configurados con el enlace. (Heredado de Binding) |
| Name |
Obtiene o establece el nombre del enlace. (Heredado de Binding) |
| Namespace |
Obtiene o establece el espacio de nombres XML del enlace. (Heredado de Binding) |
| OpenTimeout |
Obtiene o establece el intervalo de tiempo proporcionado para que se abra una conexión antes de que el transporte genere una excepción. (Heredado de Binding) |
| QueueTransferProtocol |
Obtiene o establece un valor de enumeración que indica el transporte del canal de comunicación en cola que usa este enlace. |
| ReaderQuotas |
Obtiene o establece el XmlDictionaryReaderQuotas objeto asociado a este enlace. |
| ReceiveContextEnabled |
Obtiene o establece un valor que indica si se solicita el comportamiento del contexto de recepción. (Heredado de MsmqBindingBase) |
| ReceiveErrorHandling |
Obtiene o establece un valor de enumeración que especifica cómo se controlan los mensajes dudosos. (Heredado de MsmqBindingBase) |
| ReceiveRetryCount |
Obtiene o establece el número máximo de intentos de entrega inmediatos en un mensaje leído de la cola de aplicaciones. (Heredado de MsmqBindingBase) |
| ReceiveTimeout |
Obtiene o establece el intervalo de tiempo que una conexión puede permanecer inactiva, durante la cual no se recibe ningún mensaje de aplicación, antes de quitarla. (Heredado de Binding) |
| RetryCycleDelay |
Obtiene o establece un valor que indica el retraso de tiempo entre ciclos de reintento al intentar entregar un mensaje que no se puede entregar inmediatamente. (Heredado de MsmqBindingBase) |
| Scheme |
Devuelve el esquema de este enlace. (Heredado de MsmqBindingBase) |
| Security |
Obtiene o establece el NetMsmqSecurity objeto asociado a este enlace. |
| SendTimeout |
Obtiene o establece el intervalo de tiempo proporcionado para que se complete una operación de escritura antes de que el transporte genere una excepción. (Heredado de Binding) |
| TimeToLive |
Obtiene o establece el intervalo de tiempo que indica cuánto tiempo pueden estar en la cola los mensajes procesados por este enlace antes de que expiren. (Heredado de MsmqBindingBase) |
| UseActiveDirectory |
Obtiene o establece un valor que indica si las direcciones de cola se deben convertir mediante Active Directory. |
| UseMsmqTracing |
Obtiene o establece un valor que indica si se deben realizar seguimientos de los mensajes procesados por este enlace. (Heredado de MsmqBindingBase) |
| UseSourceJournal |
Obtiene o establece un valor que indica si las copias de los mensajes procesados por este enlace deben almacenarse en la cola del diario de origen. (Heredado de MsmqBindingBase) |
| ValidityDuration |
Obtiene o establece un valor que especifica la duración que bloqueará un mensaje la característica de contexto de recepción. (Heredado de MsmqBindingBase) |
Métodos
| Nombre | Description |
|---|---|
| BuildChannelFactory<TChannel>(BindingParameterCollection) |
Compila la pila de generador de canales en el cliente que crea un tipo de canal especificado y que satisface las características especificadas por una colección de parámetros de enlace. (Heredado de Binding) |
| BuildChannelFactory<TChannel>(Object[]) |
Compila la pila del generador de canales en el cliente que crea un tipo de canal especificado y que satisface las características especificadas por una matriz de objetos. (Heredado de Binding) |
| BuildChannelListener<TChannel>(BindingParameterCollection) |
Compila el agente de escucha de canal en el servicio que acepta un tipo de canal especificado y que satisface las características especificadas por una colección de parámetros de enlace. (Heredado de Binding) |
| BuildChannelListener<TChannel>(Object[]) |
Compila el agente de escucha del canal en el servicio que acepta un tipo de canal especificado y que satisface las características especificadas. (Heredado de Binding) |
| BuildChannelListener<TChannel>(Uri, BindingParameterCollection) |
Compila el agente de escucha del canal en el servicio que acepta un tipo de canal especificado y que satisface las características especificadas. (Heredado de Binding) |
| BuildChannelListener<TChannel>(Uri, Object[]) |
Compila el agente de escucha del canal en el servicio que acepta un tipo de canal especificado y que satisface las características especificadas. (Heredado de Binding) |
| BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection) |
Compila el agente de escucha del canal en el servicio que acepta un tipo de canal especificado y que satisface las características especificadas. (Heredado de Binding) |
| BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection) |
Compila el agente de escucha del canal en el servicio que acepta un tipo de canal especificado y que satisface las características especificadas. (Heredado de Binding) |
| BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[]) |
Compila el agente de escucha del canal en el servicio que acepta un tipo de canal especificado y que satisface las características especificadas. (Heredado de Binding) |
| BuildChannelListener<TChannel>(Uri, String, Object[]) |
Compila el agente de escucha del canal en el servicio que acepta un tipo de canal especificado y que satisface las características especificadas. (Heredado de Binding) |
| CanBuildChannelFactory<TChannel>(BindingParameterCollection) |
Devuelve un valor que indica si el enlace actual puede crear una pila de generador de canales en el cliente que satisfaga la colección de parámetros de enlace especificados. (Heredado de Binding) |
| CanBuildChannelFactory<TChannel>(Object[]) |
Devuelve un valor que indica si el enlace actual puede crear una pila de generador de canales en el cliente que cumpla los requisitos especificados por una matriz de objetos. (Heredado de Binding) |
| CanBuildChannelListener<TChannel>(BindingParameterCollection) |
Devuelve un valor que indica si el enlace actual puede crear una pila del agente de escucha de canal en el servicio que satisface la colección de parámetros de enlace especificados. (Heredado de Binding) |
| CanBuildChannelListener<TChannel>(Object[]) |
Devuelve un valor que indica si el enlace actual puede crear una pila del agente de escucha de canal en el servicio que cumpla los criterios especificados en una matriz de objetos. (Heredado de Binding) |
| CreateBindingElements() |
Devuelve una colección ordenada de elementos de enlace contenidos en el enlace actual. |
| Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
| GetHashCode() |
Actúa como función hash predeterminada. (Heredado de Object) |
| GetProperty<T>(BindingParameterCollection) |
Devuelve un objeto con tipo solicitado, si está presente, de la capa adecuada en la pila de enlace. (Heredado de Binding) |
| GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
| MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
| ShouldSerializeName() |
Devuelve si se debe serializar el nombre del enlace. (Heredado de Binding) |
| ShouldSerializeNamespace() |
Devuelve si se debe serializar el espacio de nombres del enlace. (Heredado de Binding) |
| ShouldSerializeReaderQuotas() |
Devuelve un valor que indica si la ReaderQuotas propiedad ha cambiado de su valor predeterminado y se debe serializar. |
| ShouldSerializeSecurity() |
Devuelve un valor que indica si la Security propiedad ha cambiado de su valor predeterminado y se debe serializar. |
| ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IBindingRuntimePreferences.ReceiveSynchronously |
Obtiene un valor que indica si las solicitudes entrantes se pueden controlar de forma más eficaz de forma sincrónica o asincrónica. (Heredado de MsmqBindingBase) |