NetMsmqBinding Sınıf

Tanım

Makineler arası iletişim için uygun kuyruğa alınmış bağlamayı temsil eder.

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

Örnekler

Aşağıdaki örnekte, bağlamayı kullanmak için bir hizmetin nasıl yapılandırılır gösterilmektedir NetMsmqBinding .

İlk olarak yapılandırma dosyası.

Ardından, gerçek hizmet kodu.

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

Açıklamalar

Bağlama, NetMsmqBinding taşıma olarak Message Queuing (MSMQ) kullanarak kuyruğa alma desteği sağlar ve gevşek bağlanmış uygulamalar, hata yalıtımı, yük dengeleme ve bağlantısız işlemler için destek sağlar. Bu özelliklerin tartışması için bkz . Kuyruklara Genel Bakış.

Bu, Windows Communication Foundation (WCF) tarafından sağlanan sistem tarafından sağlanan bağlamalardan biridir. Yapılandırma değerlerinin bir hizmet olarak ayarlanması gereken bazı gelişmiş senaryolar dışında, önerilen yordam yapılandırma değerlerini kullanarak bağlamayı tanımlamak ve kod tabanlı bir yaklaşım kullanmamaktır.

Oluşturucular

NetMsmqBinding()

NetMsmqBinding sınıfının yeni bir örneğini başlatır.

NetMsmqBinding(NetMsmqSecurityMode)

Belirtilen güvenlik modunu kullanarak sınıfının yeni bir örneğini NetMsmqBinding başlatır.

NetMsmqBinding(String)

Belirtilen yapılandırma bağlama öğesinin NetMsmqBinding ayarlarından sınıfının yeni bir örneğini başlatır.

Özellikler

CloseTimeout

Aktarım özel durum oluşturmadan önce bağlantının kapatılması için sağlanan zaman aralığını alır veya ayarlar.

(Devralındığı yer: Binding)
CustomDeadLetterQueue

Süresi dolmuş veya aktarım veya teslimi başarısız iletilerin yerleştirildiği her uygulama için teslim edilemeyen ileti kuyruğunun konumunu içeren bir URI alır veya ayarlar.

(Devralındığı yer: MsmqBindingBase)
DeadLetterQueue

Kullanılacak teslim edilemeyen ileti kuyruğunun türünü belirten bir numaralandırma değeri alır veya ayarlar.

(Devralındığı yer: MsmqBindingBase)
Durable

Bu bağlama tarafından işlenen iletilerin dayanıklı mı yoksa geçici mi olduğunu belirten bir değer alır veya ayarlar.

(Devralındığı yer: MsmqBindingBase)
EnvelopeVersion

Bu bağlama tarafından işlenen iletiler için kullanılan SOAP sürümünü alır.

ExactlyOnce

Bu bağlama tarafından işlenen iletilerin tam olarak bir kez alınıp alınmadığını belirten bir değer alır veya ayarlar.

(Devralındığı yer: MsmqBindingBase)
MaxBufferPoolSize

Kanaldan ileti alan ileti arabelleği yöneticisi tarafından kullanılmak üzere ayrılan en yüksek bellek miktarını alır veya ayarlar.

MaxReceivedMessageSize

Bu bağlama tarafından işlenen bir ileti için bayt cinsinden en büyük boyutu alır veya ayarlar.

(Devralındığı yer: MsmqBindingBase)
MaxRetryCycles

İletilerin alıcı uygulamaya teslimini denemek için en fazla yeniden deneme döngüsü sayısını alır veya ayarlar.

(Devralındığı yer: MsmqBindingBase)
MessageVersion

Bağlama ile yapılandırılan istemciler ve hizmetler tarafından kullanılan ileti sürümünü alır.

(Devralındığı yer: Binding)
Name

Bağlamanın adını alır veya ayarlar.

(Devralındığı yer: Binding)
Namespace

Bağlamanın XML ad alanını alır veya ayarlar.

(Devralındığı yer: Binding)
OpenTimeout

Aktarım özel durum oluşturmadan önce bağlantının açılması için sağlanan zaman aralığını alır veya ayarlar.

(Devralındığı yer: Binding)
QueueTransferProtocol

Bu bağlamanın kullandığı kuyruğa alınmış iletişim kanalı aktarımını gösteren bir numaralandırma değeri alır veya ayarlar.

ReaderQuotas

Bu bağlamayla ilişkili olan öğesini XmlDictionaryReaderQuotas alır veya ayarlar.

ReceiveContextEnabled

Alma bağlamı davranışının istenip istenmediğini belirten bir değer alır veya ayarlar.

(Devralındığı yer: MsmqBindingBase)
ReceiveErrorHandling

Zehirli iletilerin nasıl işleneceğini belirten bir numaralandırma değeri alır veya ayarlar.

(Devralındığı yer: MsmqBindingBase)
ReceiveRetryCount

Uygulama kuyruğundan okunan bir iletide en fazla anında teslim denemesi sayısını alır veya ayarlar.

(Devralındığı yer: MsmqBindingBase)
ReceiveTimeout

Bağlantının devre dışı bırakılmadan önce hiçbir uygulama iletisinin alınmadığı devre dışı kalabileceği süreyi alır veya ayarlar.

(Devralındığı yer: Binding)
RetryCycleDelay

Hemen teslim edilemeyen bir ileti teslim edilmeye çalışılırken yeniden deneme döngüleri arasındaki gecikme süresini belirten bir değer alır veya ayarlar.

(Devralındığı yer: MsmqBindingBase)
Scheme

Bu bağlamanın düzenini döndürür.

(Devralındığı yer: MsmqBindingBase)
Security

Bu bağlamayla ilişkili olan öğesini NetMsmqSecurity alır veya ayarlar.

SendTimeout

Aktarım özel durum oluşturmadan önce yazma işleminin tamamlanması için sağlanan zaman aralığını alır veya ayarlar.

(Devralındığı yer: Binding)
TimeToLive

Bu bağlama tarafından işlenen iletilerin süresi dolmadan önce kuyrukta ne kadar süreyle bulunabileceğini gösteren zaman aralığını alır veya ayarlar.

(Devralındığı yer: MsmqBindingBase)
UseActiveDirectory

Kuyruk adreslerinin Active Directory kullanılarak dönüştürülmesi gerekip gerekmediğini belirten bir değer alır veya ayarlar.

UseMsmqTracing

Bu bağlama tarafından işlenen iletilerin izlenip izlenmeyeceğini belirten bir değer alır veya ayarlar.

(Devralındığı yer: MsmqBindingBase)
UseSourceJournal

Bu bağlama tarafından işlenen iletilerin kopyalarının kaynak günlük kuyruğunda depolanıp depolanmayacağını belirten bir değer alır veya ayarlar.

(Devralındığı yer: MsmqBindingBase)
ValidityDuration

İletinin alma bağlamı özelliği tarafından kilitlenme süresini belirten bir değer alır veya ayarlar.

(Devralındığı yer: MsmqBindingBase)

Yöntemler

BuildChannelFactory<TChannel>(BindingParameterCollection)

Belirtilen kanal türünü oluşturan ve bağlama parametreleri koleksiyonu tarafından belirtilen özellikleri karşılayan istemci üzerinde kanal fabrikası yığınını oluşturur.

(Devralındığı yer: Binding)
BuildChannelFactory<TChannel>(Object[])

Belirtilen kanal türünü oluşturan ve bir nesne dizisi tarafından belirtilen özellikleri karşılayan istemci üzerinde kanal fabrikası yığınını oluşturur.

(Devralındığı yer: Binding)
BuildChannelListener<TChannel>(BindingParameterCollection)

Belirtilen kanal türünü kabul eden ve bağlama parametreleri koleksiyonu tarafından belirtilen özellikleri karşılayan hizmette kanal dinleyicisini oluşturur.

(Devralındığı yer: Binding)
BuildChannelListener<TChannel>(Object[])

Belirtilen kanal türünü kabul eden ve belirtilen özellikleri karşılayan hizmette kanal dinleyicisini oluşturur.

(Devralındığı yer: Binding)
BuildChannelListener<TChannel>(Uri, BindingParameterCollection)

Belirtilen kanal türünü kabul eden ve belirtilen özellikleri karşılayan hizmette kanal dinleyicisini oluşturur.

(Devralındığı yer: Binding)
BuildChannelListener<TChannel>(Uri, Object[])

Belirtilen kanal türünü kabul eden ve belirtilen özellikleri karşılayan hizmette kanal dinleyicisini oluşturur.

(Devralındığı yer: Binding)
BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection)

Belirtilen kanal türünü kabul eden ve belirtilen özellikleri karşılayan hizmette kanal dinleyicisini oluşturur.

(Devralındığı yer: Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection)

Belirtilen kanal türünü kabul eden ve belirtilen özellikleri karşılayan hizmette kanal dinleyicisini oluşturur.

(Devralındığı yer: Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[])

Belirtilen kanal türünü kabul eden ve belirtilen özellikleri karşılayan hizmette kanal dinleyicisini oluşturur.

(Devralındığı yer: Binding)
BuildChannelListener<TChannel>(Uri, String, Object[])

Belirtilen kanal türünü kabul eden ve belirtilen özellikleri karşılayan hizmette kanal dinleyicisini oluşturur.

(Devralındığı yer: Binding)
CanBuildChannelFactory<TChannel>(BindingParameterCollection)

Geçerli bağlamanın istemcide belirtilen bağlama parametrelerinin koleksiyonunu karşılayan bir kanal fabrika yığını oluşturup oluşturamayacağını belirten bir değer döndürür.

(Devralındığı yer: Binding)
CanBuildChannelFactory<TChannel>(Object[])

Geçerli bağlamanın istemcide bir nesne dizisi tarafından belirtilen gereksinimleri karşılayan bir kanal fabrika yığını oluşturup oluşturamayacağını gösteren bir değer döndürür.

(Devralındığı yer: Binding)
CanBuildChannelListener<TChannel>(BindingParameterCollection)

Geçerli bağlamanın hizmette belirtilen bağlama parametreleri koleksiyonunu karşılayan bir kanal dinleyici yığını oluşturup oluşturamayacağını belirten bir değer döndürür.

(Devralındığı yer: Binding)
CanBuildChannelListener<TChannel>(Object[])

Geçerli bağlamanın hizmette bir nesne dizisinde belirtilen ölçütleri karşılayan bir kanal dinleyici yığını oluşturup oluşturamayacağını belirten bir değer döndürür.

(Devralındığı yer: Binding)
CreateBindingElements()

Geçerli bağlamada yer alan bağlama öğelerinin sıralı bir koleksiyonunu döndürür.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetProperty<T>(BindingParameterCollection)

Varsa, bağlama yığınındaki uygun katmandan istenen türlenmiş bir nesne döndürür.

(Devralındığı yer: Binding)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ShouldSerializeName()

Bağlama adının seri hale getirilip getirilmeyeceğini döndürür.

(Devralındığı yer: Binding)
ShouldSerializeNamespace()

Bağlamanın ad alanının seri hale getirilip getirilmeyeceğini döndürür.

(Devralındığı yer: Binding)
ShouldSerializeReaderQuotas()

Özelliğin varsayılan değerinden ReaderQuotas değiştirilip değiştirilmediğini ve seri hale getirilip getirilmeyeceğini belirten bir değer döndürür.

ShouldSerializeSecurity()

Özelliğin varsayılan değerinden Security değiştirilip değiştirilmediğini ve seri hale getirilip getirilmeyeceğini belirten bir değer döndürür.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

IBindingRuntimePreferences.ReceiveSynchronously

Gelen isteklerin daha verimli bir şekilde, zaman uyumlu veya zaman uyumsuz olarak işlenip işlenemeyeceğini gösteren bir değer alır.

(Devralındığı yer: MsmqBindingBase)

Şunlara uygulanır