NetMsmqBinding Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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) |