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.

V dalším kroku se zobrazí 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 řízení front pomocí služby Řízení front zpráv (MSMQ) jako přenosu a umožňuje podporu volně propojených aplikací, izolace selhání, vyrovnání zatížení a odpojených operací. Diskuzi o těchto funkcích najdete v tématu Přehled front.

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

Konstruktory

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

CloseTimeout

Získá nebo nastaví interval času, který je k dispozici pro připojení zavřít před vyvolání výjimky.

(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 jsou umístěny zprávy, jejichž platnost vypršela nebo které selhaly přenos nebo doručení.

(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á označ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 přidělené pro použití správcem vyrovnávací paměti zprávy, 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, kterou klienti a služby konfigurují s 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, který je k dispozici pro připojení, aby se otevřelo před vyvolání výjimky přenosu.

(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 způsob zpracování otrávných zpráv.

(Zděděno od MsmqBindingBase)
ReceiveRetryCount

Získá nebo nastaví maximální počet pokusů o okamžité doručení u 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 nebudou přijaty žádné zprávy aplikace, než se odstraní.

(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, který je k dispozici 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á označuje, zda mají být adresy fronty převedeny pomocí služby Active Directory.

UseMsmqTracing

Získá nebo nastaví hodnotu, která označ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 frontě zdrojového 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

BuildChannelFactory<TChannel>(BindingParameterCollection)

Sestaví zásobník továrny kanálu 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[])

Vytvoří zásobník objektu pro vytváření kanálů na klientovi, který vytvoří zadaný typ kanálu a který vyhovuje funkcím určeným polem objektů.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Vrátí hodnotu, která označ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á označ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á označuje, zda aktuální vazba může vytvořit 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á označ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í uspořádanou kolekci vazeb prvků obsažených v aktuální vazbě.

Equals(Object)

Určí, zda se zadaný objekt rovná 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()

Type Získá aktuální instanci.

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

Vytvoří použádnou kopii aktuálního souboru 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 se ReaderQuotas vlastnost změnila z výchozí hodnoty a měla by být serializována.

ShouldSerializeSecurity()

Vrátí hodnotu, která určuje, zda se Security 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í

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