Compartilhar via


NetMsmqBinding Classe

Definição

Representa uma associação enfileirada adequada para comunicação cruzada entre computadores.

public ref class NetMsmqBinding : System::ServiceModel::MsmqBindingBase
public class NetMsmqBinding : System.ServiceModel.MsmqBindingBase
type NetMsmqBinding = class
    inherit MsmqBindingBase
Public Class NetMsmqBinding
Inherits MsmqBindingBase
Herança
NetMsmqBinding

Exemplos

O exemplo a seguir mostra como configurar um serviço para usar a NetMsmqBinding associação.

Primeiro, o arquivo de configuração.

Em seguida, o código de serviço 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

Comentários

A NetMsmqBinding associação fornece suporte para enfileiramento usando o MSMQ (Enfileiramento de Mensagens) como transporte e habilita o suporte para aplicativos flexívelmente acoplados, isolamento de falha, nivelamento de carga e operações desconectadas. Para obter uma discussão sobre esses recursos, consulte Visão geral de filas.

Essa é uma das associações fornecidas pelo sistema fornecidas pelo WCF (Windows Communication Foundation). O procedimento recomendado é definir a associação usando valores de configuração e não usar uma abordagem baseada em código, exceto em determinados cenários avançados em que os valores de configuração devem ser definidos como um serviço é inicializado.

Construtores

NetMsmqBinding()

Inicializa uma nova instância da classe NetMsmqBinding.

NetMsmqBinding(NetMsmqSecurityMode)

Inicializa uma nova instância da classe NetMsmqBinding usando o modo de segurança especificado.

NetMsmqBinding(String)

Inicializa uma nova instância da classe NetMsmqBinding das configurações de um elemento de associação de configuração especificado.

Propriedades

CloseTimeout

Obtém ou define o intervalo concedido para que uma conexão seja fechada antes que o transporte gere uma exceção.

(Herdado de Binding)
CustomDeadLetterQueue

Obtém ou define um URI que contém o local da fila de mensagens mortas de cada aplicativo, em que são colocadas as mensagens que expiraram ou que tiveram uma falha de transferência ou de entrega.

(Herdado de MsmqBindingBase)
DeadLetterQueue

Obtém ou define um valor de enumeração que indica o tipo de fila de mensagens mortas a ser usado.

(Herdado de MsmqBindingBase)
Durable

Obtém ou define um valor que indica se as mensagens processadas por essa associação são duráveis ou voláteis.

(Herdado de MsmqBindingBase)
EnvelopeVersion

Obtém a versão do SOAP usada para as mensagens processadas por essa associação.

ExactlyOnce

Obtém ou define um valor que indica se as mensagens processadas por essa associação são recebidas exatamente uma vez.

(Herdado de MsmqBindingBase)
MaxBufferPoolSize

Obtém ou define a quantidade máxima de memória alocada para uso pelo gerenciador de buffer de mensagens que recebe mensagens do canal.

MaxReceivedMessageSize

Obtém ou define o tamanho máximo, em bytes, para uma mensagem processada por esta associação.

(Herdado de MsmqBindingBase)
MaxRetryCycles

Obtém ou define o número máximo de ciclos de novas tentativas de repetição para entregar as mensagens ao aplicativo de destino.

(Herdado de MsmqBindingBase)
MessageVersion

Obtém a versão de mensagem usada por clientes e serviços configurados com a associação.

(Herdado de Binding)
Name

Obtém ou define o nome da associação.

(Herdado de Binding)
Namespace

Obtém ou define o namespace de XML da associação.

(Herdado de Binding)
OpenTimeout

Obtém ou define o intervalo concedido para que uma conexão seja aberta antes que o transporte gere uma exceção.

(Herdado de Binding)
QueueTransferProtocol

Obtém ou define um valor de enumeração que indica o transporte de canal de comunicação em fila que esta associação usa.

ReaderQuotas

Obtém ou define o XmlDictionaryReaderQuotas associado a esta associação.

ReceiveContextEnabled

Obtém ou define um valor que indica se o comportamento do contexto de recebimento é solicitado.

(Herdado de MsmqBindingBase)
ReceiveErrorHandling

Obtém ou define um valor de enumeração que especifica como mensagens suspeitas são tratadas.

(Herdado de MsmqBindingBase)
ReceiveRetryCount

Obtém ou define o número máximo de tentativas de entrega imediatas em uma mensagem lida da fila de aplicativos.

(Herdado de MsmqBindingBase)
ReceiveTimeout

Obtém ou define o intervalo de tempo que uma conexão pode permanecer inativa, durante o qual nenhuma mensagem de aplicativo é recebida, antes de seu descarte.

(Herdado de Binding)
RetryCycleDelay

Obtém ou define um valor que indica o atraso de tempo entre os ciclos de tentativa ao entregar uma mensagem que não pode ser entregue imediatamente.

(Herdado de MsmqBindingBase)
Scheme

Retorna o esquema para esta associação.

(Herdado de MsmqBindingBase)
Security

Obtém ou define o NetMsmqSecurity associado a esta associação.

SendTimeout

Obtém ou define o intervalo concedido para uma operação ser concluída antes de o transporte gerar uma exceção.

(Herdado de Binding)
TimeToLive

Obtém ou define o intervalo de tempo que indica por quanto tempo as mensagens processadas por essa associação podem ficar na fila antes de expirarem.

(Herdado de MsmqBindingBase)
UseActiveDirectory

Obtém ou define um valor que indica se os endereços da fila devem ser convertidos usando o Active Directory.

UseMsmqTracing

Obtém ou define um valor que indica se as mensagens processadas por essa associação devem ser rastreadas.

(Herdado de MsmqBindingBase)
UseSourceJournal

Obtém ou define um valor que indica se as cópias de mensagens processadas por essa associação devem ser armazenadas na fila do diário de origem.

(Herdado de MsmqBindingBase)
ValidityDuration

Obtém ou define um valor que especifica a duração em que uma mensagem ficará bloqueada pelo recurso de contexto de recebimento.

(Herdado de MsmqBindingBase)

Métodos

BuildChannelFactory<TChannel>(BindingParameterCollection)

Cria a pilha de fábricas de canais no cliente que cria um tipo de canal especificado e que satisfaz os recursos especificados por uma coleção de parâmetros de associação.

(Herdado de Binding)
BuildChannelFactory<TChannel>(Object[])

Cria a pilha de fábricas de canais no cliente que cria um tipo de canal especificado e que satisfaz os recursos especificados por uma matriz de objetos.

(Herdado de Binding)
BuildChannelListener<TChannel>(BindingParameterCollection)

Cria o ouvinte de canais no serviço que aceita um tipo de canal especificado e que satisfaz os recursos especificados por uma coleção de parâmetros de associação.

(Herdado de Binding)
BuildChannelListener<TChannel>(Object[])

Cria o ouvinte de canais no serviço que aceita um tipo de canal especificado e que satisfaz os recursos especificados.

(Herdado de Binding)
BuildChannelListener<TChannel>(Uri, BindingParameterCollection)

Cria o ouvinte de canais no serviço que aceita um tipo de canal especificado e que satisfaz os recursos especificados.

(Herdado de Binding)
BuildChannelListener<TChannel>(Uri, Object[])

Cria o ouvinte de canais no serviço que aceita um tipo de canal especificado e que satisfaz os recursos especificados.

(Herdado de Binding)
BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection)

Cria o ouvinte de canais no serviço que aceita um tipo de canal especificado e que satisfaz os recursos especificados.

(Herdado de Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection)

Cria o ouvinte de canais no serviço que aceita um tipo de canal especificado e que satisfaz os recursos especificados.

(Herdado de Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[])

Cria o ouvinte de canais no serviço que aceita um tipo de canal especificado e que satisfaz os recursos especificados.

(Herdado de Binding)
BuildChannelListener<TChannel>(Uri, String, Object[])

Cria o ouvinte de canais no serviço que aceita um tipo de canal especificado e que satisfaz os recursos especificados.

(Herdado de Binding)
CanBuildChannelFactory<TChannel>(BindingParameterCollection)

Retorna um valor que indica se a associação atual pode criar uma pilha de fábricas de canais no cliente que satisfaz a coleção de parâmetros de associação especificados.

(Herdado de Binding)
CanBuildChannelFactory<TChannel>(Object[])

Retorna um valor que indica se a associação atual pode criar uma pilha de fábricas de canais no cliente que satisfaz os requisitos especificados por uma matriz de objetos.

(Herdado de Binding)
CanBuildChannelListener<TChannel>(BindingParameterCollection)

Retorna um valor que indica se a associação atual pode criar uma pilha de ouvintes de canais no serviço que satisfaça a coleção de parâmetros de associação especificados.

(Herdado de Binding)
CanBuildChannelListener<TChannel>(Object[])

Retorna um valor que indica se a associação atual pode criar uma pilha de ouvintes de canais no serviço que satisfaça os critérios especificados em uma matriz de objetos.

(Herdado de Binding)
CreateBindingElements()

Retorna uma coleção ordenada de elementos de associação contidos na associação atual.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetProperty<T>(BindingParameterCollection)

Retorna um objeto tipado solicitado, se presente, da camada apropriada na pilha de associação.

(Herdado de Binding)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ShouldSerializeName()

Retorna se o nome da associação deve ser serializado.

(Herdado de Binding)
ShouldSerializeNamespace()

Retorna se o namespace da associação deve ser serializado.

(Herdado de Binding)
ShouldSerializeReaderQuotas()

Retorna um valor que indica se a propriedade ReaderQuotas foi alterada do valor padrão e se deve ser serializada.

ShouldSerializeSecurity()

Retorna um valor que indica se a propriedade Security foi alterada do valor padrão e se deve ser serializada.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

IBindingRuntimePreferences.ReceiveSynchronously

Obtém um valor que indica se a maneira mais eficiente de manipular as solicitações de entrada é a síncrona ou a assíncrona.

(Herdado de MsmqBindingBase)

Aplica-se a