NetMsmqBinding Kelas

Definisi

Mewakili pengikatan antrean yang cocok untuk komunikasi lintas komputer.

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

Contoh

Contoh berikut menunjukkan cara mengonfigurasi layanan untuk menggunakan pengikatan NetMsmqBinding .

Pertama, file konfigurasi.

Selanjutnya, kode layanan aktual.

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

Keterangan

Pengikatan NetMsmqBinding menyediakan dukungan untuk antrean dengan menggunakan Message Queuing (MSMQ) sebagai transportasi dan memungkinkan dukungan untuk aplikasi yang dipasangkan secara longgar, isolasi kegagalan, tingkatan beban, dan operasi yang terputus. Untuk diskusi tentang fitur-fitur ini, lihat Gambaran Umum Antrean.

Ini adalah salah satu pengikatan yang disediakan sistem yang disediakan oleh Windows Communication Foundation (WCF). Prosedur yang disarankan adalah menentukan pengikatan menggunakan nilai konfigurasi dan tidak menggunakan pendekatan berbasis kode, kecuali dalam skenario lanjutan tertentu di mana nilai konfigurasi harus diatur sebagai layanan diinisialisasi.

Konstruktor

Nama Deskripsi
NetMsmqBinding()

Menginisialisasi instans baru dari kelas NetMsmqBinding.

NetMsmqBinding(NetMsmqSecurityMode)

Menginisialisasi instans NetMsmqBinding baru kelas menggunakan mode keamanan yang ditentukan.

NetMsmqBinding(String)

Menginisialisasi instans NetMsmqBinding baru kelas dari pengaturan elemen pengikatan konfigurasi tertentu.

Properti

Nama Deskripsi
CloseTimeout

Mendapatkan atau mengatur interval waktu yang disediakan agar koneksi ditutup sebelum transportasi menimbulkan pengecualian.

(Diperoleh dari Binding)
CustomDeadLetterQueue

Mendapatkan atau menetapkan URI yang berisi lokasi antrean dead-letter untuk setiap aplikasi, di mana pesan yang telah kedaluwarsa atau yang telah gagal ditransfer atau pengiriman ditempatkan.

(Diperoleh dari MsmqBindingBase)
DeadLetterQueue

Mendapatkan atau menetapkan nilai enumerasi yang menunjukkan jenis antrean surat mati yang akan digunakan.

(Diperoleh dari MsmqBindingBase)
Durable

Mendapatkan atau menetapkan nilai yang menunjukkan apakah pesan yang diproses oleh pengikatan ini tahan lama atau volatil.

(Diperoleh dari MsmqBindingBase)
EnvelopeVersion

Mendapatkan versi SOAP yang digunakan untuk pesan yang diproses oleh pengikatan ini.

ExactlyOnce

Mendapatkan atau menetapkan nilai yang menunjukkan apakah pesan yang diproses oleh pengikatan ini diterima tepat sekali.

(Diperoleh dari MsmqBindingBase)
MaxBufferPoolSize

Mendapatkan atau mengatur jumlah maksimum memori yang dialokasikan untuk digunakan oleh pengelola buffer pesan yang menerima pesan dari saluran.

MaxReceivedMessageSize

Mendapatkan atau mengatur ukuran maksimum, dalam byte, untuk pesan yang diproses oleh pengikatan ini.

(Diperoleh dari MsmqBindingBase)
MaxRetryCycles

Mendapatkan atau mengatur jumlah maksimum siklus coba lagi untuk mencoba pengiriman pesan ke aplikasi penerima.

(Diperoleh dari MsmqBindingBase)
MessageVersion

Mendapatkan versi pesan yang digunakan oleh klien dan layanan yang dikonfigurasi dengan pengikatan.

(Diperoleh dari Binding)
Name

Mendapatkan atau mengatur nama pengikatan.

(Diperoleh dari Binding)
Namespace

Mendapatkan atau mengatur namespace XML pengikatan.

(Diperoleh dari Binding)
OpenTimeout

Mendapatkan atau mengatur interval waktu yang disediakan agar koneksi terbuka sebelum transportasi menimbulkan pengecualian.

(Diperoleh dari Binding)
QueueTransferProtocol

Mendapatkan atau menetapkan nilai enumerasi yang menunjukkan transportasi saluran komunikasi antrean yang digunakan pengikatan ini.

ReaderQuotas

Mendapatkan atau mengatur XmlDictionaryReaderQuotas yang terkait dengan pengikatan ini.

ReceiveContextEnabled

Mendapatkan atau menetapkan nilai yang menunjukkan apakah perilaku konteks penerimaan diminta.

(Diperoleh dari MsmqBindingBase)
ReceiveErrorHandling

Mendapatkan atau menetapkan nilai enumerasi yang menentukan bagaimana pesan racun ditangani.

(Diperoleh dari MsmqBindingBase)
ReceiveRetryCount

Mendapatkan atau mengatur jumlah maksimum upaya pengiriman langsung pada pesan yang dibaca dari antrean aplikasi.

(Diperoleh dari MsmqBindingBase)
ReceiveTimeout

Mendapatkan atau mengatur interval waktu koneksi dapat tetap tidak aktif, di mana tidak ada pesan aplikasi yang diterima, sebelum dihilangkan.

(Diperoleh dari Binding)
RetryCycleDelay

Mendapatkan atau menetapkan nilai yang menunjukkan keterlambatan waktu antara siklus coba lagi saat mencoba mengirimkan pesan yang tidak dapat segera dikirimkan.

(Diperoleh dari MsmqBindingBase)
Scheme

Mengembalikan skema untuk pengikatan ini.

(Diperoleh dari MsmqBindingBase)
Security

Mendapatkan atau mengatur NetMsmqSecurity yang terkait dengan pengikatan ini.

SendTimeout

Mendapatkan atau mengatur interval waktu yang disediakan agar operasi tulis selesai sebelum transportasi menimbulkan pengecualian.

(Diperoleh dari Binding)
TimeToLive

Mendapatkan atau mengatur interval waktu yang menunjukkan berapa lama pesan yang diproses oleh pengikatan ini dapat berada dalam antrean sebelum kedaluwarsa.

(Diperoleh dari MsmqBindingBase)
UseActiveDirectory

Mendapatkan atau menetapkan nilai yang menunjukkan apakah alamat antrean harus dikonversi menggunakan Direktori Aktif.

UseMsmqTracing

Mendapatkan atau menetapkan nilai yang menunjukkan apakah pesan yang diproses oleh pengikatan ini harus dilacak.

(Diperoleh dari MsmqBindingBase)
UseSourceJournal

Mendapatkan atau menetapkan nilai yang menunjukkan apakah salinan pesan yang diproses oleh pengikatan ini harus disimpan dalam antrean jurnal sumber.

(Diperoleh dari MsmqBindingBase)
ValidityDuration

Mendapatkan atau menetapkan nilai yang menentukan durasi pesan akan dikunci oleh fitur konteks penerima.

(Diperoleh dari MsmqBindingBase)

Metode

Nama Deskripsi
BuildChannelFactory<TChannel>(BindingParameterCollection)

Membangun tumpukan pabrik saluran pada klien yang membuat jenis saluran tertentu dan yang memenuhi fitur yang ditentukan oleh kumpulan parameter pengikatan.

(Diperoleh dari Binding)
BuildChannelFactory<TChannel>(Object[])

Membangun tumpukan pabrik saluran pada klien yang membuat jenis saluran tertentu dan yang memenuhi fitur yang ditentukan oleh array objek.

(Diperoleh dari Binding)
BuildChannelListener<TChannel>(BindingParameterCollection)

Membangun pendengar saluran pada layanan yang menerima jenis saluran tertentu dan yang memenuhi fitur yang ditentukan oleh kumpulan parameter pengikatan.

(Diperoleh dari Binding)
BuildChannelListener<TChannel>(Object[])

Membangun pendengar saluran pada layanan yang menerima jenis saluran tertentu dan yang memenuhi fitur yang ditentukan.

(Diperoleh dari Binding)
BuildChannelListener<TChannel>(Uri, BindingParameterCollection)

Membangun pendengar saluran pada layanan yang menerima jenis saluran tertentu dan yang memenuhi fitur yang ditentukan.

(Diperoleh dari Binding)
BuildChannelListener<TChannel>(Uri, Object[])

Membangun pendengar saluran pada layanan yang menerima jenis saluran tertentu dan yang memenuhi fitur yang ditentukan.

(Diperoleh dari Binding)
BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection)

Membangun pendengar saluran pada layanan yang menerima jenis saluran tertentu dan yang memenuhi fitur yang ditentukan.

(Diperoleh dari Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection)

Membangun pendengar saluran pada layanan yang menerima jenis saluran tertentu dan yang memenuhi fitur yang ditentukan.

(Diperoleh dari Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[])

Membangun pendengar saluran pada layanan yang menerima jenis saluran tertentu dan yang memenuhi fitur yang ditentukan.

(Diperoleh dari Binding)
BuildChannelListener<TChannel>(Uri, String, Object[])

Membangun pendengar saluran pada layanan yang menerima jenis saluran tertentu dan yang memenuhi fitur yang ditentukan.

(Diperoleh dari Binding)
CanBuildChannelFactory<TChannel>(BindingParameterCollection)

Mengembalikan nilai yang menunjukkan apakah pengikatan saat ini dapat membangun tumpukan pabrik saluran pada klien yang memenuhi kumpulan parameter pengikatan yang ditentukan.

(Diperoleh dari Binding)
CanBuildChannelFactory<TChannel>(Object[])

Mengembalikan nilai yang menunjukkan apakah pengikatan saat ini dapat membangun tumpukan pabrik saluran pada klien yang memenuhi persyaratan yang ditentukan oleh array objek.

(Diperoleh dari Binding)
CanBuildChannelListener<TChannel>(BindingParameterCollection)

Mengembalikan nilai yang menunjukkan apakah pengikatan saat ini dapat membangun tumpukan pendengar saluran pada layanan yang memenuhi kumpulan parameter pengikatan yang ditentukan.

(Diperoleh dari Binding)
CanBuildChannelListener<TChannel>(Object[])

Mengembalikan nilai yang menunjukkan apakah pengikatan saat ini dapat membangun tumpukan pendengar saluran pada layanan yang memenuhi kriteria yang ditentukan dalam array objek.

(Diperoleh dari Binding)
CreateBindingElements()

Mengembalikan kumpulan elemen pengikatan yang diurutkan yang terkandung dalam pengikatan saat ini.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetProperty<T>(BindingParameterCollection)

Mengembalikan objek jenis yang diminta, jika ada, dari lapisan yang sesuai dalam tumpukan pengikatan.

(Diperoleh dari Binding)
GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
ShouldSerializeName()

Mengembalikan apakah nama pengikatan harus diserialisasikan.

(Diperoleh dari Binding)
ShouldSerializeNamespace()

Mengembalikan apakah namespace pengikatan harus diserialisasikan.

(Diperoleh dari Binding)
ShouldSerializeReaderQuotas()

Mengembalikan nilai yang menunjukkan apakah ReaderQuotas properti telah berubah dari nilai defaultnya dan harus diserialisasikan.

ShouldSerializeSecurity()

Mengembalikan nilai yang menunjukkan apakah Security properti telah berubah dari nilai defaultnya dan harus diserialisasikan.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

Nama Deskripsi
IBindingRuntimePreferences.ReceiveSynchronously

Mendapatkan nilai yang menunjukkan apakah permintaan masuk dapat ditangani secara lebih efisien secara sinkron atau asinkron.

(Diperoleh dari MsmqBindingBase)

Berlaku untuk