NetMsmqBinding Třída

Definice

Představuje vazbu ve frontě, která je vhodná pro komunikaci mezi počítači.

public ref class NetMsmqBinding : System::ServiceModel::MsmqBindingBase
public class NetMsmqBinding : System.ServiceModel.MsmqBindingBase
type NetMsmqBinding = class
    inherit MsmqBindingBase
Public Class NetMsmqBinding
Inherits MsmqBindingBase
Dědičnost
NetMsmqBinding

Příklady

Následující příklad ukazuje, jak nakonfigurovat službu tak, aby používala NetMsmqBinding vazbu.

Nejprve konfigurační soubor.

Dále skutečný kód služby.

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

Poznámky

Vazba NetMsmqBinding poskytuje podporu pro řazení front pomocí služby Řízení front zpráv (MSMQ) jako přenosu a umožňuje podporu volně propojených aplikací, izolace selhání, vyrovnávání zatížení a odpojených operací. Diskuzi o těchto funkcích najdete v tématu Přehled front.

Toto je jedna ze systémových vazeb poskytovaných službou Windows Communication Foundation (WCF). Doporučeným postupem je definovat vazbu pomocí konfiguračních hodnot, a ne použít přístup založený na kódu, s výjimkou některých pokročilých scénářů, kdy je nutné nastavit konfigurační hodnoty jako inicializace služby.

Konstruktory

Name Description
NetMsmqBinding()

Inicializuje novou instanci NetMsmqBinding třídy.

NetMsmqBinding(NetMsmqSecurityMode)

Inicializuje novou instanci NetMsmqBinding třídy pomocí zadaného režimu zabezpečení.

NetMsmqBinding(String)

Inicializuje novou instanci NetMsmqBinding třídy z nastavení zadaného elementu vazby konfigurace.

Vlastnosti

Name Description
CloseTimeout

Získá nebo nastaví časový interval zadaný pro připojení zavřít před přenos vyvolá výjimku.

(Zděděno od Binding)
CustomDeadLetterQueue

Získá nebo nastaví identifikátor URI, který obsahuje umístění fronty nedoručených zpráv pro každou aplikaci, kde zprávy, jejichž platnost vypršela nebo které selhaly přenos nebo doručení jsou umístěny.

(Zděděno od MsmqBindingBase)
DeadLetterQueue

Získá nebo nastaví hodnotu výčtu, která označuje typ fronty nedoručených zpráv, která se má použít.

(Zděděno od MsmqBindingBase)
Durable

Získá nebo nastaví hodnotu, která označuje, zda zprávy zpracovávané touto vazbou jsou trvalé nebo nestálé.

(Zděděno od MsmqBindingBase)
EnvelopeVersion

Získá verzi protokolu SOAP, která se používá pro zprávy zpracovávané touto vazbou.

ExactlyOnce

Získá nebo nastaví hodnotu, která určuje, zda zprávy zpracovávané touto vazbou jsou přijaty přesně jednou.

(Zděděno od MsmqBindingBase)
MaxBufferPoolSize

Získá nebo nastaví maximální množství paměti, která je přidělena pro použití správce vyrovnávací paměti zpráv, která přijímá zprávy z kanálu.

MaxReceivedMessageSize

Získá nebo nastaví maximální velikost v bajtech pro zprávu, která je zpracována touto vazbou.

(Zděděno od MsmqBindingBase)
MaxRetryCycles

Získá nebo nastaví maximální počet cyklů opakování k pokusu o doručení zpráv do přijímající aplikace.

(Zděděno od MsmqBindingBase)
MessageVersion

Získá verzi zprávy používanou klienty a službami nakonfigurovanými vazbou.

(Zděděno od Binding)
Name

Získá nebo nastaví název vazby.

(Zděděno od Binding)
Namespace

Získá nebo nastaví obor názvů XML vazby.

(Zděděno od Binding)
OpenTimeout

Získá nebo nastaví interval času zadaného pro připojení k otevření před přenos vyvolá výjimku.

(Zděděno od Binding)
QueueTransferProtocol

Získá nebo nastaví hodnotu výčtu, která označuje přenos komunikačního kanálu ve frontě, který tato vazba používá.

ReaderQuotas

Získá nebo nastaví XmlDictionaryReaderQuotas , který je přidružen k této vazbě.

ReceiveContextEnabled

Získá nebo nastaví hodnotu, která označuje, zda je požadováno chování kontextu příjmu.

(Zděděno od MsmqBindingBase)
ReceiveErrorHandling

Získá nebo nastaví hodnotu výčtu, která určuje, jak se zpracovávají otrávené zprávy.

(Zděděno od MsmqBindingBase)
ReceiveRetryCount

Získá nebo nastaví maximální počet okamžitých pokusů o doručení zprávy, která je načtena z fronty aplikace.

(Zděděno od MsmqBindingBase)
ReceiveTimeout

Získá nebo nastaví interval doby, po kterou může připojení zůstat neaktivní, během kterého nejsou přijaty žádné zprávy aplikace, než se zahodí.

(Zděděno od Binding)
RetryCycleDelay

Získá nebo nastaví hodnotu, která označuje časové zpoždění mezi cykly opakování při pokusu o doručení zprávy, která nelze doručit okamžitě.

(Zděděno od MsmqBindingBase)
Scheme

Vrátí schéma pro tuto vazbu.

(Zděděno od MsmqBindingBase)
Security

Získá nebo nastaví NetMsmqSecurity , který je přidružen k této vazbě.

SendTimeout

Získá nebo nastaví interval času zadaný pro operaci zápisu dokončit před přenos vyvolá výjimku.

(Zděděno od Binding)
TimeToLive

Získá nebo nastaví interval času, který označuje, jak dlouho mohou být zprávy zpracovávané touto vazbou ve frontě před vypršením jejich platnosti.

(Zděděno od MsmqBindingBase)
UseActiveDirectory

Získá nebo nastaví hodnotu, která určuje, zda adresy fronty mají být převedeny pomocí služby služba Active Directory.

UseMsmqTracing

Získá nebo nastaví hodnotu, která určuje, zda zprávy zpracovávané touto vazbou by měly být trasovány.

(Zděděno od MsmqBindingBase)
UseSourceJournal

Získá nebo nastaví hodnotu, která označuje, zda kopie zpráv zpracovávaných touto vazbou by měly být uloženy ve zdrojové frontě deníku.

(Zděděno od MsmqBindingBase)
ValidityDuration

Získá nebo nastaví hodnotu, která určuje dobu trvání zprávy bude uzamčena funkcí kontextu příjmu.

(Zděděno od MsmqBindingBase)

Metody

Name Description
BuildChannelFactory<TChannel>(BindingParameterCollection)

Sestaví zásobník objektu pro vytváření kanálů na klientovi, který vytvoří zadaný typ kanálu a který splňuje funkce určené kolekcí parametrů vazby.

(Zděděno od Binding)
BuildChannelFactory<TChannel>(Object[])

Sestaví zásobník objektu pro vytváření kanálů na klientovi, který vytvoří zadaný typ kanálu a splňuje funkce určené polem objektů.

(Zděděno od Binding)
BuildChannelListener<TChannel>(BindingParameterCollection)

Sestaví naslouchací proces kanálu ve službě, která přijímá zadaný typ kanálu a splňuje funkce určené kolekcí parametrů vazby.

(Zděděno od Binding)
BuildChannelListener<TChannel>(Object[])

Sestaví naslouchací proces kanálu ve službě, která přijímá zadaný typ kanálu a splňuje zadané funkce.

(Zděděno od Binding)
BuildChannelListener<TChannel>(Uri, BindingParameterCollection)

Sestaví naslouchací proces kanálu ve službě, která přijímá zadaný typ kanálu a splňuje zadané funkce.

(Zděděno od Binding)
BuildChannelListener<TChannel>(Uri, Object[])

Sestaví naslouchací proces kanálu ve službě, která přijímá zadaný typ kanálu a splňuje zadané funkce.

(Zděděno od Binding)
BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection)

Sestaví naslouchací proces kanálu ve službě, která přijímá zadaný typ kanálu a splňuje zadané funkce.

(Zděděno od Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection)

Sestaví naslouchací proces kanálu ve službě, která přijímá zadaný typ kanálu a splňuje zadané funkce.

(Zděděno od Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[])

Sestaví naslouchací proces kanálu ve službě, která přijímá zadaný typ kanálu a splňuje zadané funkce.

(Zděděno od Binding)
BuildChannelListener<TChannel>(Uri, String, Object[])

Sestaví naslouchací proces kanálu ve službě, která přijímá zadaný typ kanálu a splňuje zadané funkce.

(Zděděno od Binding)
CanBuildChannelFactory<TChannel>(BindingParameterCollection)

Vrátí hodnotu, která určuje, zda aktuální vazba může vytvořit zásobník objektu pro vytváření kanálů na klientovi, který splňuje kolekci zadaných parametrů vazby.

(Zděděno od Binding)
CanBuildChannelFactory<TChannel>(Object[])

Vrátí hodnotu, která určuje, zda aktuální vazba může vytvořit zásobník objektu pro vytváření kanálů na klientovi, který splňuje požadavky určené polem objektů.

(Zděděno od Binding)
CanBuildChannelListener<TChannel>(BindingParameterCollection)

Vrátí hodnotu, která určuje, zda aktuální vazba může sestavit zásobník naslouchacího procesu kanálu ve službě, která splňuje kolekci zadaných parametrů vazby.

(Zděděno od Binding)
CanBuildChannelListener<TChannel>(Object[])

Vrátí hodnotu, která určuje, zda aktuální vazba může vytvořit zásobník naslouchacího procesu kanálu ve službě, která splňuje kritéria zadaná v poli objektů.

(Zděděno od Binding)
CreateBindingElements()

Vrátí seřazenou kolekci prvků vazby obsažených v aktuální vazbě.

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetProperty<T>(BindingParameterCollection)

Vrátí požadovaný typ objektu z příslušné vrstvy v zásobníku vazeb.

(Zděděno od Binding)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ShouldSerializeName()

Vrátí, zda má být název vazby serializován.

(Zděděno od Binding)
ShouldSerializeNamespace()

Vrátí, zda má být obor názvů vazby serializován.

(Zděděno od Binding)
ShouldSerializeReaderQuotas()

Vrátí hodnotu, která určuje, zda ReaderQuotas se vlastnost změnila z výchozí hodnoty a měla by být serializována.

ShouldSerializeSecurity()

Vrátí hodnotu, která určuje, zda Security se vlastnost změnila z výchozí hodnoty a měla by být serializována.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

Name Description
IBindingRuntimePreferences.ReceiveSynchronously

Získá hodnotu, která označuje, zda příchozí požadavky lze zpracovávat efektivněji nebo asynchronněji.

(Zděděno od MsmqBindingBase)

Platí pro