NetMsmqBinding Klas

Definitie

Vertegenwoordigt een binding in de wachtrij die geschikt is voor communicatie tussen machines.

public ref class NetMsmqBinding : System::ServiceModel::MsmqBindingBase
public class NetMsmqBinding : System.ServiceModel.MsmqBindingBase
type NetMsmqBinding = class
    inherit MsmqBindingBase
Public Class NetMsmqBinding
Inherits MsmqBindingBase
Overname
NetMsmqBinding

Voorbeelden

In het volgende voorbeeld ziet u hoe u een service configureert voor het gebruik van de NetMsmqBinding binding.

Eerst het configuratiebestand.

Vervolgens de werkelijke servicecode.

// 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

Opmerkingen

De NetMsmqBinding binding biedt ondersteuning voor wachtrijen met behulp van Message Queuing (MSMQ) als transport en biedt ondersteuning voor losjes gekoppelde toepassingen, foutisolatie, taakverdeling en verbroken bewerkingen. Zie Overzicht van wachtrijen voor een bespreking van deze functies.

Dit is een van de door het systeem geleverde bindingen die worden geleverd door Windows Communication Foundation (WCF). De aanbevolen procedure is om de binding te definiëren met behulp van configuratiewaarden en niet om een op code gebaseerde benadering te gebruiken, behalve in bepaalde geavanceerde scenario's waarin configuratiewaarden moeten worden ingesteld als een service wordt geïnitialiseerd.

Constructors

Name Description
NetMsmqBinding()

Initialiseert een nieuw exemplaar van de NetMsmqBinding klasse.

NetMsmqBinding(NetMsmqSecurityMode)

Initialiseert een nieuw exemplaar van de NetMsmqBinding klasse met behulp van de opgegeven beveiligingsmodus.

NetMsmqBinding(String)

Initialiseert een nieuw exemplaar van de NetMsmqBinding klasse op basis van de instellingen van een opgegeven configuratiebindingselement.

Eigenschappen

Name Description
CloseTimeout

Hiermee haalt u het tijdsinterval op dat is opgegeven voor een verbinding die moet worden gesloten voordat het transport een uitzondering genereert.

(Overgenomen van Binding)
CustomDeadLetterQueue

Hiermee wordt een URI opgehaald of ingesteld die de locatie van de wachtrij met dode brieven voor elke toepassing bevat, waarbij berichten die zijn verlopen of die een mislukte overdracht of bezorging hebben geplaatst.

(Overgenomen van MsmqBindingBase)
DeadLetterQueue

Hiermee wordt een opsommingswaarde opgehaald of ingesteld die aangeeft welk type wachtrij met dode letters moet worden gebruikt.

(Overgenomen van MsmqBindingBase)
Durable

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de berichten die door deze binding worden verwerkt, duurzaam of vluchtig zijn.

(Overgenomen van MsmqBindingBase)
EnvelopeVersion

Hiermee haalt u de versie van SOAP op die wordt gebruikt voor berichten die door deze binding worden verwerkt.

ExactlyOnce

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of berichten die door deze binding worden verwerkt, precies één keer worden ontvangen.

(Overgenomen van MsmqBindingBase)
MaxBufferPoolSize

Hiermee wordt de maximale hoeveelheid geheugen opgehaald of ingesteld die wordt toegewezen voor gebruik door de berichtenbufferbeheerder die berichten van het kanaal ontvangt.

MaxReceivedMessageSize

Hiermee wordt de maximale grootte, in bytes, opgehaald of ingesteld voor een bericht dat door deze binding wordt verwerkt.

(Overgenomen van MsmqBindingBase)
MaxRetryCycles

Hiermee haalt u het maximum aantal nieuwe pogingen op om te proberen berichten af te leveren aan de ontvangende toepassing.

(Overgenomen van MsmqBindingBase)
MessageVersion

Hiermee haalt u de berichtversie op die wordt gebruikt door clients en services die zijn geconfigureerd met de binding.

(Overgenomen van Binding)
Name

Hiermee haalt u de naam van de binding op of stelt u deze in.

(Overgenomen van Binding)
Namespace

Hiermee haalt u de XML-naamruimte van de binding op of stelt u deze in.

(Overgenomen van Binding)
OpenTimeout

Hiermee haalt u het tijdsinterval op dat is opgegeven voor een verbinding die moet worden geopend voordat het transport een uitzondering genereert.

(Overgenomen van Binding)
QueueTransferProtocol

Hiermee wordt een opsommingswaarde opgehaald of ingesteld die aangeeft welk transport van het communicatiekanaal in de wachtrij wordt gebruikt door deze binding.

ReaderQuotas

Hiermee haalt u de binding op of stelt u deze XmlDictionaryReaderQuotas in.

ReceiveContextEnabled

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het gedrag van de ontvangstcontext wordt aangevraagd.

(Overgenomen van MsmqBindingBase)
ReceiveErrorHandling

Hiermee wordt een opsommingswaarde opgehaald of ingesteld die aangeeft hoe gifberichten worden verwerkt.

(Overgenomen van MsmqBindingBase)
ReceiveRetryCount

Hiermee wordt het maximum aantal onmiddellijke bezorgingspogingen opgehaald of ingesteld voor een bericht dat wordt gelezen uit de toepassingswachtrij.

(Overgenomen van MsmqBindingBase)
ReceiveTimeout

Hiermee wordt het tijdsinterval opgehaald of ingesteld dat een verbinding inactief kan blijven, terwijl er geen toepassingsberichten worden ontvangen voordat deze wordt verwijderd.

(Overgenomen van Binding)
RetryCycleDelay

Hiermee wordt een waarde opgehaald of ingesteld die de tijdsvertraging aangeeft tussen nieuwe pogingen bij het bezorgen van een bericht dat niet onmiddellijk kan worden afgeleverd.

(Overgenomen van MsmqBindingBase)
Scheme

Retourneert het schema voor deze binding.

(Overgenomen van MsmqBindingBase)
Security

Hiermee haalt u de binding op of stelt u deze NetMsmqSecurity in.

SendTimeout

Hiermee haalt u het tijdsinterval op dat is opgegeven voor een schrijfbewerking die moet worden voltooid voordat het transport een uitzondering genereert.

(Overgenomen van Binding)
TimeToLive

Hiermee wordt het tijdsinterval opgehaald of ingesteld dat aangeeft hoe lang de berichten die door deze binding worden verwerkt, in de wachtrij kunnen staan voordat ze verlopen.

(Overgenomen van MsmqBindingBase)
UseActiveDirectory

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of wachtrijadressen moeten worden geconverteerd met behulp van Active Directory.

UseMsmqTracing

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of berichten die door deze binding worden verwerkt, moeten worden getraceerd.

(Overgenomen van MsmqBindingBase)
UseSourceJournal

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of kopieën van berichten die door deze binding worden verwerkt, moeten worden opgeslagen in de wachtrij van het bronlogboek.

(Overgenomen van MsmqBindingBase)
ValidityDuration

Hiermee wordt een waarde opgehaald of ingesteld waarmee de duur wordt opgegeven waarop een bericht wordt vergrendeld door de functie voor ontvangen context.

(Overgenomen van MsmqBindingBase)

Methoden

Name Description
BuildChannelFactory<TChannel>(BindingParameterCollection)

Bouwt de stack van de kanaalfactory op de client die een opgegeven type kanaal maakt en voldoet aan de functies die zijn opgegeven door een verzameling bindingsparameters.

(Overgenomen van Binding)
BuildChannelFactory<TChannel>(Object[])

Bouwt de stack van de kanaalfactory op de client die een opgegeven type kanaal maakt en voldoet aan de functies die zijn opgegeven door een objectmatrix.

(Overgenomen van Binding)
BuildChannelListener<TChannel>(BindingParameterCollection)

Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de functies die zijn opgegeven door een verzameling bindingsparameters.

(Overgenomen van Binding)
BuildChannelListener<TChannel>(Object[])

Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies.

(Overgenomen van Binding)
BuildChannelListener<TChannel>(Uri, BindingParameterCollection)

Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies.

(Overgenomen van Binding)
BuildChannelListener<TChannel>(Uri, Object[])

Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies.

(Overgenomen van Binding)
BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection)

Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies.

(Overgenomen van Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection)

Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies.

(Overgenomen van Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[])

Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies.

(Overgenomen van Binding)
BuildChannelListener<TChannel>(Uri, String, Object[])

Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies.

(Overgenomen van Binding)
CanBuildChannelFactory<TChannel>(BindingParameterCollection)

Retourneert een waarde die aangeeft of de huidige binding een kanaalfactorystack kan bouwen op de client die voldoet aan de verzameling bindingsparameters die zijn opgegeven.

(Overgenomen van Binding)
CanBuildChannelFactory<TChannel>(Object[])

Retourneert een waarde die aangeeft of de huidige binding een kanaalfactorystack kan bouwen op de client die voldoet aan de vereisten die zijn opgegeven door een objectmatrix.

(Overgenomen van Binding)
CanBuildChannelListener<TChannel>(BindingParameterCollection)

Retourneert een waarde die aangeeft of de huidige binding een kanaallistenerstack kan bouwen op de service die voldoet aan de verzameling bindingsparameters die zijn opgegeven.

(Overgenomen van Binding)
CanBuildChannelListener<TChannel>(Object[])

Retourneert een waarde die aangeeft of de huidige binding een kanaallistenerstack kan bouwen op de service die voldoet aan de criteria die zijn opgegeven in een matrix met objecten.

(Overgenomen van Binding)
CreateBindingElements()

Retourneert een geordende verzameling bindingselementen in de huidige binding.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetProperty<T>(BindingParameterCollection)

Retourneert een getypt object dat, indien aanwezig, is aangevraagd vanuit de juiste laag in de bindingsstack.

(Overgenomen van Binding)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ShouldSerializeName()

Retourneert of de naam van de binding moet worden geserialiseerd.

(Overgenomen van Binding)
ShouldSerializeNamespace()

Retourneert of de naamruimte van de binding moet worden geserialiseerd.

(Overgenomen van Binding)
ShouldSerializeReaderQuotas()

Retourneert een waarde die aangeeft of de eigenschap is gewijzigd van de ReaderQuotas standaardwaarde en moet worden geserialiseerd.

ShouldSerializeSecurity()

Retourneert een waarde die aangeeft of de eigenschap is gewijzigd van de Security standaardwaarde en moet worden geserialiseerd.

ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Expliciete interface-implementaties

Name Description
IBindingRuntimePreferences.ReceiveSynchronously

Hiermee wordt een waarde opgehaald die aangeeft of binnenkomende aanvragen efficiënter synchroon of asynchroon kunnen worden verwerkt.

(Overgenomen van MsmqBindingBase)

Van toepassing op