Udostępnij za pośrednictwem


NetMsmqBinding Klasa

Definicja

Reprezentuje powiązanie w kolejce, które jest odpowiednie do komunikacji między maszynami.

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

W poniższym przykładzie pokazano, jak skonfigurować usługę do używania NetMsmqBinding powiązania.

Najpierw plik konfiguracji.

Następnie rzeczywisty kod usługi.

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

Powiązanie NetMsmqBinding zapewnia obsługę kolejkowania przy użyciu kolejkowania komunikatów (MSMQ) jako transportu i umożliwia obsługę luźno powiązanych aplikacji, izolacji awarii, bilansowania obciążenia i rozłączonych operacji. Aby zapoznać się z omówieniem tych funkcji, zobacz Omówienie kolejek.

Jest to jedno z powiązań dostarczanych przez system dostarczonych przez program Windows Communication Foundation (WCF). Zalecaną procedurą jest zdefiniowanie powiązania przy użyciu wartości konfiguracji, a nie użycie podejścia opartego na kodzie, z wyjątkiem niektórych zaawansowanych scenariuszy, w których wartości konfiguracji muszą być ustawiane jako usługa jest inicjowana.

Konstruktory

NetMsmqBinding()

Inicjuje nowe wystąpienie klasy NetMsmqBinding.

NetMsmqBinding(NetMsmqSecurityMode)

Inicjuje NetMsmqBinding nowe wystąpienie klasy przy użyciu określonego trybu zabezpieczeń.

NetMsmqBinding(String)

Inicjuje NetMsmqBinding nowe wystąpienie klasy z ustawień określonego elementu powiązania konfiguracji.

Właściwości

CloseTimeout

Pobiera lub ustawia interwał czasu podanego dla połączenia do zamknięcia, zanim transport zgłasza wyjątek.

(Odziedziczone po Binding)
CustomDeadLetterQueue

Pobiera lub ustawia identyfikator URI, który zawiera lokalizację kolejki utraconych wiadomości dla każdej aplikacji, w której są umieszczane komunikaty, które wygasły lub które zakończyły się niepowodzeniem transferu lub dostarczania.

(Odziedziczone po MsmqBindingBase)
DeadLetterQueue

Pobiera lub ustawia wartość wyliczenia, która wskazuje typ kolejki utraconych liter do użycia.

(Odziedziczone po MsmqBindingBase)
Durable

Pobiera lub ustawia wartość wskazującą, czy komunikaty przetwarzane przez to powiązanie są trwałe, czy nietrwałe.

(Odziedziczone po MsmqBindingBase)
EnvelopeVersion

Pobiera wersję protokołu SOAP, która jest używana do obsługi komunikatów przetwarzanych przez to powiązanie.

ExactlyOnce

Pobiera lub ustawia wartość wskazującą, czy komunikaty przetwarzane przez to powiązanie są odbierane dokładnie raz.

(Odziedziczone po MsmqBindingBase)
MaxBufferPoolSize

Pobiera lub ustawia maksymalną ilość pamięci przydzielonej do użycia przez menedżera buforu komunikatów, który odbiera komunikaty z kanału.

MaxReceivedMessageSize

Pobiera lub ustawia maksymalny rozmiar w bajtach dla komunikatu przetwarzanego przez to powiązanie.

(Odziedziczone po MsmqBindingBase)
MaxRetryCycles

Pobiera lub ustawia maksymalną liczbę cykli ponawiania próby dostarczenia komunikatów do aplikacji odbieranej.

(Odziedziczone po MsmqBindingBase)
MessageVersion

Pobiera wersję komunikatu używaną przez klientów i usługi skonfigurowane za pomocą powiązania.

(Odziedziczone po Binding)
Name

Pobiera lub ustawia nazwę powiązania.

(Odziedziczone po Binding)
Namespace

Pobiera lub ustawia przestrzeń nazw XML powiązania.

(Odziedziczone po Binding)
OpenTimeout

Pobiera lub ustawia interwał czasu podany dla połączenia do otwarcia, zanim transport zgłosi wyjątek.

(Odziedziczone po Binding)
QueueTransferProtocol

Pobiera lub ustawia wartość wyliczenia wskazującą transport w kanale komunikacyjnym w kolejce używany przez to powiązanie.

ReaderQuotas

Pobiera lub ustawia XmlDictionaryReaderQuotas element skojarzony z tym powiązaniem.

ReceiveContextEnabled

Pobiera lub ustawia wartość wskazującą, czy żądanie zachowania kontekstu odbierania jest wymagane.

(Odziedziczone po MsmqBindingBase)
ReceiveErrorHandling

Pobiera lub ustawia wartość wyliczenia określającą sposób obsługi zatrutych komunikatów.

(Odziedziczone po MsmqBindingBase)
ReceiveRetryCount

Pobiera lub ustawia maksymalną liczbę prób natychmiastowego dostarczania w komunikacie odczytanym z kolejki aplikacji.

(Odziedziczone po MsmqBindingBase)
ReceiveTimeout

Pobiera lub ustawia interwał czasu, przez który połączenie może pozostać nieaktywne, podczas którego nie są odbierane żadne komunikaty aplikacji, zanim zostanie porzucony.

(Odziedziczone po Binding)
RetryCycleDelay

Pobiera lub ustawia wartość wskazującą opóźnienie czasu między cyklami ponawiania próby podczas próby dostarczenia komunikatu, którego nie można dostarczyć natychmiast.

(Odziedziczone po MsmqBindingBase)
Scheme

Zwraca schemat dla tego powiązania.

(Odziedziczone po MsmqBindingBase)
Security

Pobiera lub ustawia NetMsmqSecurity element skojarzony z tym powiązaniem.

SendTimeout

Pobiera lub ustawia interwał czasu dla operacji zapisu do ukończenia, zanim transport zgłosi wyjątek.

(Odziedziczone po Binding)
TimeToLive

Pobiera lub ustawia interwał czasu, który wskazuje, jak długo komunikaty przetwarzane przez to powiązanie mogą znajdować się w kolejce przed ich wygaśnięciem.

(Odziedziczone po MsmqBindingBase)
UseActiveDirectory

Pobiera lub ustawia wartość wskazującą, czy adresy kolejek powinny być konwertowane przy użyciu usługi Active Directory.

UseMsmqTracing

Pobiera lub ustawia wartość wskazującą, czy komunikaty przetwarzane przez to powiązanie powinny być śledzone.

(Odziedziczone po MsmqBindingBase)
UseSourceJournal

Pobiera lub ustawia wartość wskazującą, czy kopie komunikatów przetworzonych przez to powiązanie powinny być przechowywane w kolejce dziennika źródłowego.

(Odziedziczone po MsmqBindingBase)
ValidityDuration

Pobiera lub ustawia wartość określającą czas trwania komunikatu zostanie zablokowany przez funkcję kontekstu odbierania.

(Odziedziczone po MsmqBindingBase)

Metody

BuildChannelFactory<TChannel>(BindingParameterCollection)

Tworzy stos fabryki kanałów na kliencie, który tworzy określony typ kanału i spełnia funkcje określone przez kolekcję parametrów powiązania.

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

Tworzy stos fabryki kanałów na kliencie, który tworzy określony typ kanału i spełnia funkcje określone przez tablicę obiektów.

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

Tworzy 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ązania.

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

Tworzy odbiornik kanału w usłudze, który akceptuje określony typ kanału i spełnia określone funkcje.

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

Tworzy odbiornik kanału w usłudze, który akceptuje określony typ kanału i spełnia określone funkcje.

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

Tworzy odbiornik kanału w usłudze, który akceptuje określony typ kanału i spełnia określone funkcje.

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

Tworzy odbiornik kanału w usłudze, który akceptuje określony typ kanału i spełnia określone funkcje.

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

Tworzy odbiornik kanału w usłudze, który akceptuje określony typ kanału i spełnia określone funkcje.

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

Tworzy odbiornik kanału w usłudze, który akceptuje określony typ kanału i spełnia określone funkcje.

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

Tworzy odbiornik kanału w usłudze, który akceptuje określony typ kanału i spełnia określone funkcje.

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

Zwraca wartość wskazującą, czy bieżące powiązanie może utworzyć stos fabryki kanału na kliencie, który spełnia określone parametry powiązania.

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

Zwraca wartość wskazującą, czy bieżące powiązanie może utworzyć stos fabryki kanałów na kliencie, który spełnia wymagania określone przez tablicę obiektów.

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

Zwraca wartość wskazującą, czy bieżące powiązanie może utworzyć stos odbiornika kanału w usłudze, która spełnia określone parametry powiązania.

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

Zwraca wartość wskazującą, czy bieżące powiązanie może utworzyć stos odbiornika kanału w usłudze, która spełnia kryteria określone w tablicy obiektów.

(Odziedziczone po Binding)
CreateBindingElements()

Zwraca uporządkowaną kolekcję elementów powiązania zawartych w bieżącym powiązaniu.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

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

Zwraca żądany obiekt typu z odpowiedniej warstwy w stosie powiązań.

(Odziedziczone po Binding)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ShouldSerializeName()

Zwraca, czy nazwa powiązania powinna być serializowana.

(Odziedziczone po Binding)
ShouldSerializeNamespace()

Zwraca, czy przestrzeń nazw powiązania powinna być serializowana.

(Odziedziczone po Binding)
ShouldSerializeReaderQuotas()

Zwraca wartość wskazującą, czy ReaderQuotas właściwość zmieniła się z wartości domyślnej i powinna być serializowana.

ShouldSerializeSecurity()

Zwraca wartość wskazującą, czy Security właściwość zmieniła się z wartości domyślnej i powinna być serializowana.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

IBindingRuntimePreferences.ReceiveSynchronously

Pobiera wartość wskazującą, czy żądania przychodzące mogą być obsługiwane wydajniej synchronicznie lub asynchronicznie.

(Odziedziczone po MsmqBindingBase)

Dotyczy