NetMsmqBinding Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta un'associazione in coda adatta per la comunicazione fra computer.
public ref class NetMsmqBinding : System::ServiceModel::MsmqBindingBase
public class NetMsmqBinding : System.ServiceModel.MsmqBindingBase
type NetMsmqBinding = class
inherit MsmqBindingBase
Public Class NetMsmqBinding
Inherits MsmqBindingBase
- Ereditarietà
Esempio
Nel seguente esempio viene mostrato come configurare un servizio affinché utilizzi l'associazione NetMsmqBinding:
Innanzitutto, il file di configurazione.
Quindi, il codice di servizio effettivo:
// 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
Commenti
L'associazione NetMsmqBinding fornisce il supporto per la gestione della coda utilizzando il sistema di accodamento messaggi (MSMQ) come trasporto. Tale associazione fornisce inoltre il supporto per le applicazioni a regime di controllo libero, per l'isolamento degli errori, per la distribuzione ottimale dei carichi e per le operazioni disconnesse. Per una descrizione di queste funzionalità, vedere Panoramica delle code.
Si tratta di una delle associazioni fornite dal sistema fornite da Windows Communication Foundation (WCF). Salvo in certi scenari avanzati in cui i valori di configurazione devono essere impostati all'inizializzazione di un servizio, la procedura consigliata è definire l'associazione mediante i valori di configurazione e non tramite un approccio basato sul codice.
Costruttori
NetMsmqBinding() |
Inizializza una nuova istanza della classe NetMsmqBinding. |
NetMsmqBinding(NetMsmqSecurityMode) |
Consente di inizializzare una nuova istanza della classe NetMsmqBinding utilizzando la modalità di sicurezza specificata. |
NetMsmqBinding(String) |
Consente di inizializzare una nuova istanza della classe NetMsmqBinding a partire dalle impostazioni di un elemento di associazione identificato da una configurazione specificata. |
Proprietà
CloseTimeout |
Ottiene o imposta l'intervallo di tempo fornito per la chiusura di una connessione prima che il trasporto generi un'eccezione. (Ereditato da Binding) |
CustomDeadLetterQueue |
Ottiene o imposta un URI che contiene il percorso della coda dei messaggi non recapitabili per ogni applicazione, in cui vengono collocati i messaggi scaduti o che non possono essere trasferiti o recapitati. (Ereditato da MsmqBindingBase) |
DeadLetterQueue |
Ottiene o imposta un valore di enumerazione che indica il tipo di coda dei messaggi non recapitabili da utilizzare. (Ereditato da MsmqBindingBase) |
Durable |
Ottiene o imposta un valore che indica se i messaggi elaborati da questa associazione sono durevoli o volatili. (Ereditato da MsmqBindingBase) |
EnvelopeVersion |
Consente di ottenere la versione di SOAP utilizzata per i messaggi elaborati da questa associazione. |
ExactlyOnce |
Ottiene o imposta un valore che indica se i messaggi elaborati da questa associazione verranno ricevuti una sola volta. (Ereditato da MsmqBindingBase) |
MaxBufferPoolSize |
Consente di ottenere o impostare la quantità massima di memoria allocata al gestore dei buffer che riceve i messaggi dal canale. |
MaxReceivedMessageSize |
Ottiene o imposta la dimensione massima in byte per un messaggio che viene elaborato dall'associazione. (Ereditato da MsmqBindingBase) |
MaxRetryCycles |
Ottiene o imposta il numero massimo di cicli di ripetizione dei tentativi di recapito dei messaggi all'applicazione ricevente. (Ereditato da MsmqBindingBase) |
MessageVersion |
Ottiene la versione del messaggio utilizzata dai client e dai servizi configurati con l'associazione. (Ereditato da Binding) |
Name |
Ottiene o imposta il nome dell'associazione. (Ereditato da Binding) |
Namespace |
Ottiene o imposta lo spazio dei nomi XML dell'associazione. (Ereditato da Binding) |
OpenTimeout |
Ottiene o imposta l'intervallo di tempo fornito per l'apertura di una connessione prima che il trasporto generi un'eccezione. (Ereditato da Binding) |
QueueTransferProtocol |
Consente di ottenere o impostare un valore di enumerazione che indica il trasporto del canale di comunicazione in coda utilizzato da questa associazione. |
ReaderQuotas |
Consente di ottenere o impostare l'oggetto XmlDictionaryReaderQuotas relativo a questa associazione. |
ReceiveContextEnabled |
Ottiene o imposta un valore che indica se il comportamento del contesto di ricezione è richiesto. (Ereditato da MsmqBindingBase) |
ReceiveErrorHandling |
Ottiene o imposta un valore di enumerazione che specifica come vengono gestiti i messaggi non elaborabili. (Ereditato da MsmqBindingBase) |
ReceiveRetryCount |
Ottiene o imposta il numero massimo di tentativi di recapito immediato su un messaggio letto dalla coda dell'applicazione. (Ereditato da MsmqBindingBase) |
ReceiveTimeout |
Ottiene o imposta l'intervallo di tempo durante il quale una connessione rimane inattiva, senza ricevere messaggi dell'applicazione, prima di essere rilasciata. (Ereditato da Binding) |
RetryCycleDelay |
Ottiene o imposta un valore che indica l'intervallo di tempo tra i cicli di ripetizione dei tentativi di recapitare un messaggio che è impossibile recapitare immediatamente. (Ereditato da MsmqBindingBase) |
Scheme |
Restituisce lo schema per l'associazione. (Ereditato da MsmqBindingBase) |
Security |
Consente di ottenere o impostare l'oggetto NetMsmqSecurity relativo a questa associazione. |
SendTimeout |
Ottiene o imposta l'intervallo di tempo fornito per il completamento di un'operazione di scrittura prima che il trasporto generi un'eccezione. (Ereditato da Binding) |
TimeToLive |
Ottiene o imposta un valore che indica per quanto tempo i messaggi elaborati da questa associazione possono rimanere nella coda prima di scadere. (Ereditato da MsmqBindingBase) |
UseActiveDirectory |
Ottiene o imposta un valore che indica se convertire gli indirizzi delle code mediante Active Directory. |
UseMsmqTracing |
Ottiene o imposta un valore che indica se i messaggi elaborati da questa associazione devono essere tracciati. (Ereditato da MsmqBindingBase) |
UseSourceJournal |
Ottiene o imposta un valore che indica se le copie dei messaggi elaborati da questa associazione devono essere archiviate nella coda journal di origine. (Ereditato da MsmqBindingBase) |
ValidityDuration |
Ottiene o imposta un valore che specifica la durata in cui un messaggio sarà bloccato dalla funzionalità del contesto di ricezione. (Ereditato da MsmqBindingBase) |
Metodi
BuildChannelFactory<TChannel>(BindingParameterCollection) |
Compila lo stack della channel factory nel client che crea un tipo specificato di canale e che soddisfa le funzionalità specificate da una raccolta di parametri di associazione. (Ereditato da Binding) |
BuildChannelFactory<TChannel>(Object[]) |
Compila lo stack della channel factory nel client che crea un tipo specificato di canale e che soddisfa le funzionalità specificate da una matrice di oggetti. (Ereditato da Binding) |
BuildChannelListener<TChannel>(BindingParameterCollection) |
Compila il listener del canale nel servizio che accetta un tipo specificato di canale e che soddisfa le funzionalità specificate da una raccolta di parametri di associazione. (Ereditato da Binding) |
BuildChannelListener<TChannel>(Object[]) |
Compila il listener del canale sul servizio che accetta un tipo di canale specificato e che presenta le funzionalità specificate. (Ereditato da Binding) |
BuildChannelListener<TChannel>(Uri, BindingParameterCollection) |
Compila il listener del canale sul servizio che accetta un tipo di canale specificato e che presenta le funzionalità specificate. (Ereditato da Binding) |
BuildChannelListener<TChannel>(Uri, Object[]) |
Compila il listener del canale sul servizio che accetta un tipo di canale specificato e che presenta le funzionalità specificate. (Ereditato da Binding) |
BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection) |
Compila il listener del canale sul servizio che accetta un tipo di canale specificato e che presenta le funzionalità specificate. (Ereditato da Binding) |
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection) |
Compila il listener del canale sul servizio che accetta un tipo di canale specificato e che presenta le funzionalità specificate. (Ereditato da Binding) |
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[]) |
Compila il listener del canale sul servizio che accetta un tipo di canale specificato e che presenta le funzionalità specificate. (Ereditato da Binding) |
BuildChannelListener<TChannel>(Uri, String, Object[]) |
Compila il listener del canale sul servizio che accetta un tipo di canale specificato e che presenta le funzionalità specificate. (Ereditato da Binding) |
CanBuildChannelFactory<TChannel>(BindingParameterCollection) |
Restituisce un valore che indica se l'associazione corrente può compilare uno stack della channel factory nel client che soddisfa la raccolta dei parametri di associazione specificati. (Ereditato da Binding) |
CanBuildChannelFactory<TChannel>(Object[]) |
Restituisce un valore che indica se l'associazione corrente può compilare uno stack della channel factory nel client che soddisfa i requisiti specificati da una matrice di oggetti. (Ereditato da Binding) |
CanBuildChannelListener<TChannel>(BindingParameterCollection) |
Restituisce un valore che indica se l'associazione corrente può compilare uno stack del channel listener nel servizio che soddisfa la raccolta dei parametri di associazione specificati. (Ereditato da Binding) |
CanBuildChannelListener<TChannel>(Object[]) |
Restituisce un valore che indica se l'associazione corrente può compilare uno stack del channel listener nel servizio che soddisfa i criteri specificati in una matrice di oggetti. (Ereditato da Binding) |
CreateBindingElements() |
Restituisce una raccolta ordinata di elementi di associazione contenuti nell'associazione corrente. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetProperty<T>(BindingParameterCollection) |
Se presente, restituisce un oggetto tipizzato richiesto dal livello appropriato nello stack dell'associazione. (Ereditato da Binding) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ShouldSerializeName() |
Indica se il nome dell'associazione deve essere serializzato. (Ereditato da Binding) |
ShouldSerializeNamespace() |
Indica se lo spazio dei nomi dell'associazione deve essere serializzato. (Ereditato da Binding) |
ShouldSerializeReaderQuotas() |
Restituisce un valore che indica se la proprietà ReaderQuotas è cambiata rispetto al valore predefinito e deve essere serializzata. |
ShouldSerializeSecurity() |
Restituisce un valore che indica se la proprietà Security è cambiata rispetto al valore predefinito e deve essere serializzata. |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
IBindingRuntimePreferences.ReceiveSynchronously |
Ottiene un valore che indica se le richieste in entrata possono essere gestite più efficientemente in modo sincrono o in modo asincrono. (Ereditato da MsmqBindingBase) |