NetMsmqBinding Klasa

Definicja

Reprezentuje kolejkowane powiązanie, które jest odpowiednie dla komunikacji między komputerami.Represents a queued binding that is suitable for cross-machine communication.

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

Przykłady

Poniższy przykład pokazuje, jak skonfigurować usługę do korzystania z NetMsmqBinding powiązania.The following example shows how to configure a service to use the NetMsmqBinding binding.

Najpierw plik konfiguracji.First, the configuration file.

Następnie rzeczywisty kod usługi.Next, the actual service code.

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

Uwagi

NetMsmqBindingPowiązanie zapewnia obsługę kolejkowania przy użyciu usługi kolejkowania komunikatów (MSMQ) jako transportu i umożliwia obsługę luźno sprzężonych aplikacji, izolacja niepowodzeń, przeciążania obciążeń i odłączonych operacji.The NetMsmqBinding binding provides support for queuing by using Message Queuing (MSMQ) as a transport and enables support for loosely-coupled applications, failure isolation, load leveling and disconnected operations. Dyskusje na temat tych funkcji znajdują się w temacie Queues Overview.For a discussion of these features, see Queues Overview.

Jest to jedno z powiązań dostarczonych przez system Windows Communication Foundation (WCF).This is one of the system-provided bindings provided by Windows Communication Foundation (WCF). Zalecaną procedurą jest zdefiniowanie powiązania przy użyciu wartości konfiguracyjnych, a nie użycie podejścia opartego na kodzie, z wyjątkiem pewnych zaawansowanych scenariuszy, w których wartości konfiguracyjne muszą być ustawione jako usługa.The recommended procedure is to define the binding using configuration values and not to use a code-based approach, except in certain advanced scenarios where configuration values must be set as a service is initialized.

Konstruktory

NetMsmqBinding()

Inicjuje nowe wystąpienie klasy NetMsmqBinding.Initializes a new instance of the NetMsmqBinding class.

NetMsmqBinding(NetMsmqSecurityMode)

Inicjuje nowe wystąpienie NetMsmqBinding klasy przy użyciu określonego trybu zabezpieczeń.Initializes a new instance of the NetMsmqBinding class using the specified security mode.

NetMsmqBinding(String)

Inicjuje nowe wystąpienie NetMsmqBinding klasy z ustawień określonego elementu powiązania konfiguracji.Initializes a new instance of the NetMsmqBinding class from the settings of a specified configuration binding element.

Właściwości

CloseTimeout

Pobiera lub ustawia przedział czasu, który ma zostać zamknięty, zanim transport zgłosi wyjątek.Gets or sets the interval of time provided for a connection to close before the transport raises an exception.

(Odziedziczone po Binding)
CustomDeadLetterQueue

Pobiera lub ustawia identyfikator URI, który zawiera lokalizację kolejki utraconych wiadomości dla każdej aplikacji, w której znajdują się komunikaty, które wygasły lub które nie zostały przesłane.Gets or sets a URI that contains the location of the dead-letter queue for each application, where messages that have expired or that have failed transfer or delivery are placed.

(Odziedziczone po MsmqBindingBase)
DeadLetterQueue

Pobiera lub ustawia wartość wyliczenia wskazującą typ używanej kolejki utraconych wiadomości.Gets or sets an enumeration value that indicates the type of dead-letter queue to use.

(Odziedziczone po MsmqBindingBase)
Durable

Pobiera lub ustawia wartość wskazującą, czy komunikaty przetwarzane przez to powiązanie są trwałe czy nietrwałe.Gets or sets a value that indicates whether the messages processed by this binding are durable or volatile.

(Odziedziczone po MsmqBindingBase)
EnvelopeVersion

Pobiera wersję protokołu SOAP, która jest używana na potrzeby komunikatów przetwarzanych przez to powiązanie.Gets the version of SOAP that is used for messages processed by this binding.

ExactlyOnce

Pobiera lub ustawia wartość wskazującą, czy komunikaty przetwarzane przez to powiązanie są odbierane dokładnie raz.Gets or sets a value that indicates whether messages processed by this binding are received exactly once.

(Odziedziczone po MsmqBindingBase)
MaxBufferPoolSize

Pobiera lub ustawia maksymalną ilość pamięci przydzielonej do użycia przez Menedżera buforów komunikatów, który odbiera komunikaty z kanału.Gets or sets the maximum amount of memory that is allocated for use by the message buffer manager that receives messages from the channel.

MaxReceivedMessageSize

Pobiera lub ustawia maksymalny rozmiar wiadomości przetwarzanej przez to powiązanie w bajtach.Gets or sets the maximum size, in bytes, for a message that is processed by this binding.

(Odziedziczone po MsmqBindingBase)
MaxRetryCycles

Pobiera lub ustawia maksymalną liczbę ponownych prób dostarczenia komunikatów do aplikacji odbiorczej.Gets or sets the maximum number of retry cycles to attempt delivery of messages to the receiving application.

(Odziedziczone po MsmqBindingBase)
MessageVersion

Pobiera wersję wiadomości używaną przez klientów i usługi skonfigurowane przy użyciu powiązania.Gets the message version used by clients and services configured with the binding.

(Odziedziczone po Binding)
Name

Pobiera lub ustawia nazwę powiązania.Gets or sets the name of the binding.

(Odziedziczone po Binding)
Namespace

Pobiera lub ustawia przestrzeń nazw XML powiązania.Gets or sets the XML namespace of the binding.

(Odziedziczone po Binding)
OpenTimeout

Pobiera lub ustawia przedział czasu, który ma być otwarty, zanim transport zgłosi wyjątek.Gets or sets the interval of time provided for a connection to open before the transport raises an exception.

(Odziedziczone po Binding)
QueueTransferProtocol

Pobiera lub ustawia wartość wyliczenia wskazującą transport kanału komunikacyjnego znajdującego się w kolejce, który jest wykorzystywany przez to powiązanie.Gets or sets an enumeration value that indicates the queued communication channel transport that this binding uses.

ReaderQuotas

Pobiera lub ustawia XmlDictionaryReaderQuotas , który jest skojarzony z tym powiązaniem.Gets or sets the XmlDictionaryReaderQuotas that is associated with this binding.

ReceiveContextEnabled

Pobiera lub ustawia wartość wskazującą, czy jest wymagane zachowanie kontekstu odbierania.Gets or sets a value that indicates whether the receive context behavior is requested.

(Odziedziczone po MsmqBindingBase)
ReceiveErrorHandling

Pobiera lub ustawia wartość wyliczenia, która określa sposób obsługi komunikatów trujących.Gets or sets an enumeration value that specifies how poison messages are handled.

(Odziedziczone po MsmqBindingBase)
ReceiveRetryCount

Pobiera lub ustawia maksymalną liczbę prób dostarczenia natychmiastowego dla komunikatu odczytanego z kolejki aplikacji.Gets or sets the maximum number of immediate delivery attempts on a message that is read from the application queue.

(Odziedziczone po MsmqBindingBase)
ReceiveTimeout

Pobiera lub ustawia przedział czasu, przez jaki połączenie może pozostawać nieaktywne, podczas którego nie są odbierane żadne komunikaty aplikacji przed porzuceniem.Gets or sets the interval of time that a connection can remain inactive, during which no application messages are received, before it is dropped.

(Odziedziczone po Binding)
RetryCycleDelay

Pobiera lub ustawia wartość wskazującą czas opóźnienia między kolejnymi próbami dostarczenia komunikatu, którego nie można dostarczyć natychmiast.Gets or sets a value that indicates the time delay between retry cycles when attempting to deliver a message that cannot be delivered immediately.

(Odziedziczone po MsmqBindingBase)
Scheme

Zwraca schemat dla tego powiązania.Returns the scheme for this binding.

(Odziedziczone po MsmqBindingBase)
Security

Pobiera lub ustawia NetMsmqSecurity , który jest skojarzony z tym powiązaniem.Gets or sets the NetMsmqSecurity that is associated with this binding.

SendTimeout

Pobiera lub ustawia przedział czasu przewidziany na zakończenie operacji zapisu przed wykroczeniem przez transport wyjątku.Gets or sets the interval of time provided for a write operation to complete before the transport raises an exception.

(Odziedziczone po Binding)
TimeToLive

Pobiera lub ustawia przedział czasu, który wskazuje, jak długo komunikaty przetwarzane przez to powiązanie mogą znajdować się w kolejce przed ich wygaśnięciem.Gets or sets the interval of time that indicates how long the messages processed by this binding can be in the queue before they expire.

(Odziedziczone po MsmqBindingBase)
UseActiveDirectory

Pobiera lub ustawia wartość wskazującą, czy adresy kolejek mają być konwertowane przy użyciu Active Directory.Gets or sets a value that indicates whether queue addresses should be converted using Active Directory.

UseMsmqTracing

Pobiera lub ustawia wartość wskazującą, czy komunikaty przetwarzane przez to powiązanie powinny być śledzone.Gets or sets a value that indicates whether messages processed by this binding should be traced.

(Odziedziczone po MsmqBindingBase)
UseSourceJournal

Pobiera lub ustawia wartość wskazującą, czy kopie komunikatów przetwarzanych przez to powiązanie powinny być przechowywane w kolejce dziennika źródła.Gets or sets a value that indicates whether copies of messages processed by this binding should be stored in the source journal queue.

(Odziedziczone po MsmqBindingBase)
ValidityDuration

Pobiera lub ustawia wartość określającą czas trwania, przez który komunikat będzie zablokowany przez funkcję kontekstu odbierania.Gets or sets a value that specifies the duration a message will be locked by the receive context feature.

(Odziedziczone po MsmqBindingBase)

Metody

BuildChannelFactory<TChannel>(BindingParameterCollection)

Kompiluje stos fabryki kanałów na kliencie, który tworzy określony typ kanału, który spełnia funkcje określone przez kolekcję parametrów powiązań.Builds the channel factory stack on the client that creates a specified type of channel and that satisfies the features specified by a collection of binding parameters.

(Odziedziczone po Binding)
BuildChannelFactory<TChannel>(Object[])

Kompiluje stos fabryki kanałów na kliencie, który tworzy określony typ kanału, który spełnia funkcje określone przez tablicę obiektów.Builds the channel factory stack on the client that creates a specified type of channel and that satisfies the features specified by an object array.

(Odziedziczone po Binding)
BuildChannelListener<TChannel>(BindingParameterCollection)

Kompiluje odbiornik kanału w usłudze, który akceptuje określony typ kanału i spełnia funkcje określone przez kolekcję parametrów powiązań.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified by a collection of binding parameters.

(Odziedziczone po Binding)
BuildChannelListener<TChannel>(Object[])

Kompiluje odbiornik kanału w usłudze, który akceptuje określony typ kanału i spełnia określone funkcje.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Odziedziczone po Binding)
BuildChannelListener<TChannel>(Uri, BindingParameterCollection)

Kompiluje odbiornik kanału w usłudze, który akceptuje określony typ kanału i spełnia określone funkcje.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Odziedziczone po Binding)
BuildChannelListener<TChannel>(Uri, Object[])

Kompiluje odbiornik kanału w usłudze, który akceptuje określony typ kanału i spełnia określone funkcje.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Odziedziczone po Binding)
BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection)

Kompiluje odbiornik kanału w usłudze, który akceptuje określony typ kanału i spełnia określone funkcje.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Odziedziczone po Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection)

Kompiluje odbiornik kanału w usłudze, który akceptuje określony typ kanału i spełnia określone funkcje.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Odziedziczone po Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[])

Kompiluje odbiornik kanału w usłudze, który akceptuje określony typ kanału i spełnia określone funkcje.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Odziedziczone po Binding)
BuildChannelListener<TChannel>(Uri, String, Object[])

Kompiluje odbiornik kanału w usłudze, który akceptuje określony typ kanału i spełnia określone funkcje.Builds the channel listener on the service that accepts a specified type of channel and that satisfies the features specified.

(Odziedziczone po Binding)
CanBuildChannelFactory<TChannel>(BindingParameterCollection)

Zwraca wartość wskazującą, czy bieżące powiązanie może utworzyć stos fabryki kanałów na kliencie, który spełnia wymagania kolekcji określonych parametrów powiązania.Returns a value that indicates whether the current binding can build a channel factory stack on the client that satisfies the collection of binding parameters specified.

(Odziedziczone po Binding)
CanBuildChannelFactory<TChannel>(Object[])

Zwraca wartość wskazującą, czy bieżące powiązanie może skompilować stos fabryki kanałów na kliencie, który spełnia wymagania określone przez tablicę obiektów.Returns a value that indicates whether the current binding can build a channel factory stack on the client that satisfies the requirements specified by an object array.

(Odziedziczone po Binding)
CanBuildChannelListener<TChannel>(BindingParameterCollection)

Zwraca wartość wskazującą, czy bieżące powiązanie może kompilować stos odbiornika kanałów w usłudze, która spełnia kryteria kolekcji określonych parametrów powiązania.Returns a value that indicates whether the current binding can build a channel listener stack on the service that satisfies the collection of binding parameters specified.

(Odziedziczone po Binding)
CanBuildChannelListener<TChannel>(Object[])

Zwraca wartość wskazującą, czy bieżące powiązanie może kompilować stos odbiornika kanałów w usłudze, która spełnia kryteria określone w tablicy obiektów.Returns a value that indicates whether the current binding can build a channel listener stack on the service that satisfies the criteria specified in an array of objects.

(Odziedziczone po Binding)
CreateBindingElements()

Zwraca uporządkowaną kolekcję elementów powiązania zawartych w bieżącym powiązaniu.Returns an ordered collection of binding elements contained in the current binding.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetProperty<T>(BindingParameterCollection)

Zwraca żądany obiekt typu, jeśli jest obecny, z odpowiedniej warstwy w stosie powiązań.Returns a typed object requested, if present, from the appropriate layer in the binding stack.

(Odziedziczone po Binding)
GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
ShouldSerializeName()

Zwraca czy nazwa powiązania powinna być serializowana.Returns whether the name of the binding should be serialized.

(Odziedziczone po Binding)
ShouldSerializeNamespace()

Zwraca czy przestrzeń nazw powiązania powinna być serializowana.Returns whether the namespace of the binding should be serialized.

(Odziedziczone po Binding)
ShouldSerializeReaderQuotas()

Zwraca wartość wskazującą, czy ReaderQuotas Właściwość została zmieniona z wartości domyślnej i powinna być serializowana.Returns a value that indicates whether the ReaderQuotas property has changed from its default value and should be serialized.

ShouldSerializeSecurity()

Zwraca wartość wskazującą, czy Security Właściwość została zmieniona z wartości domyślnej i powinna być serializowana.Returns a value that indicates whether the Security property has changed from its default value and should be serialized.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Jawne implementacje interfejsu

IBindingRuntimePreferences.ReceiveSynchronously

Pobiera wartość wskazującą, czy żądania przychodzące można obsługiwać bardziej efektywnie lub asynchronicznie.Gets a value that indicates whether incoming requests can be handled more efficiently synchronously or asynchronously.

(Odziedziczone po MsmqBindingBase)

Dotyczy