MsmqIntegrationBinding Klasse

Definition

Diese MsmqIntegrationBinding-Klasse ordnet Microsoft Message Queuing-Nachrichten Windows Communication Foundation-Nachrichten zu.

public ref class MsmqIntegrationBinding : System::ServiceModel::MsmqBindingBase
public class MsmqIntegrationBinding : System.ServiceModel.MsmqBindingBase
type MsmqIntegrationBinding = class
    inherit MsmqBindingBase
Public Class MsmqIntegrationBinding
Inherits MsmqBindingBase
Vererbung
MsmqIntegrationBinding

Beispiele

Die folgenden Konfigurationsdateiausschnitte zeigen, wie die MsmqIntegrationBinding-Bindung auf dem Client konfiguriert wird:

Die folgenden Konfigurationsdateiausschnitte zeigen, wie die MsmqIntegrationBinding-Bindung auf dem Dienst konfiguriert wird:

[ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]
[ServiceKnownType(typeof(PurchaseOrder))]
public interface IOrderProcessor
{
    [OperationContract(IsOneWay = true, Action = "*")]
    void SubmitPurchaseOrder(MsmqMessage<PurchaseOrder> msg);
}
<ServiceContract(Namespace:="http:'Microsoft.ServiceModel.Samples")> _
<ServiceKnownType(GetType(PurchaseOrder))> _
Public Interface IOrderProcessor
    <OperationContract(IsOneWay:=True, Action:="*")> _
    Sub SubmitPurchaseOrder(ByVal msg As MsmqMessage(Of PurchaseOrder))
End Interface

Der folgende Code zeigt, wie die MsmqIntegrationBinding-Bindung auf dem Dienst programmatisch verwendet wird:

public class OrderProcessorService : IOrderProcessor
{
    [OperationBehavior(TransactionScopeRequired = true, TransactionAutoComplete = true)]
    public void SubmitPurchaseOrder(MsmqMessage<PurchaseOrder> ordermsg)
    {
        PurchaseOrder po = (PurchaseOrder)ordermsg.Body;
        Random statusIndexer = new Random();
        po.Status = (OrderStates)statusIndexer.Next(3);
        Console.WriteLine("Processing {0} ", po);
    }

    // Host the service within this EXE console application.
public static void Main()
{
    // Get base address from appsettings in configuration.
    Uri baseAddress = new Uri(ConfigurationManager.AppSettings["baseAddress"]);

    // Create a ServiceHost for the CalculatorService type and provide the base address.
    using (ServiceHost serviceHost = new ServiceHost(typeof(IOrderProcessor), 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("The service is running in the following account: {0}", WindowsIdentity.GetCurrent().Name);
        Console.WriteLine("Press <ENTER> to terminate service.");
        Console.WriteLine();
        Console.ReadLine();

    // Close the ServiceHostBase to shutdown the service.
        serviceHost.Close();
    }
}
}
Public Class OrderProcessorService
    Implements IOrderProcessor

    <OperationBehavior(TransactionScopeRequired:=True, TransactionAutoComplete:=True)> _
    Public Sub SubmitPurchaseOrder(ByVal ordermsg As MsmqMessage(Of PurchaseOrder)) Implements IOrderProcessor.SubmitPurchaseOrder
        Dim po As PurchaseOrder = ordermsg.Body
        Dim statusIndexer As New Random()
        po.Status = statusIndexer.Next(3)
        Console.WriteLine("Processing {0} ", po)
    End Sub
End Class

Der folgende Code zeigt, wie die MsmqIntegrationBinding-Bindung auf dem Client programmatisch verwendet wird:

MsmqIntegrationBinding binding = new MsmqIntegrationBinding();
EndpointAddress address = new EndpointAddress("msmq.formatname:DIRECT=OS:.\\private$\\Orders");
ChannelFactory<IOrderProcessor> channelFactory = new ChannelFactory<IOrderProcessor>(binding, address);
IOrderProcessor channel = channelFactory.CreateChannel();

PurchaseOrder po = new PurchaseOrder();
po.customerId = "somecustomer.com";
po.poNumber = Guid.NewGuid().ToString();

PurchaseOrderLineItem lineItem1 = new PurchaseOrderLineItem();
lineItem1.productId = "Blue Widget";
lineItem1.quantity = 54;
lineItem1.unitCost = 29.99F;

PurchaseOrderLineItem lineItem2 = new PurchaseOrderLineItem();
lineItem2.productId = "Red Widget";
lineItem2.quantity = 890;
lineItem2.unitCost = 45.89F;

po.orderLineItems = new PurchaseOrderLineItem[2];
po.orderLineItems[0] = lineItem1;
po.orderLineItems[1] = lineItem2;

MsmqMessage<PurchaseOrder> ordermsg = new MsmqMessage<PurchaseOrder>(po);
using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required))
{
    channel.SubmitPurchaseOrder(ordermsg);
    scope.Complete();
}
Console.WriteLine("Order has been submitted:{0}", po);
Dim binding As New MsmqIntegrationBinding()
Dim address As New EndpointAddress("msmq.formatname:DIRECT=OS:.\\private$\\Orders")
Dim channelFactory As New ChannelFactory(Of IOrderProcessor)(binding, address)
Dim channel As IOrderProcessor = channelFactory.CreateChannel()

Dim po As New PurchaseOrder()
po.customerId = "somecustomer.com"
po.poNumber = Guid.NewGuid().ToString()

Dim lineItem1 As New PurchaseOrderLineItem()
lineItem1.productId = "Blue Widget"
lineItem1.quantity = 54
lineItem1.unitCost = 29.99F

Dim lineItem2 = New PurchaseOrderLineItem()
lineItem2.productId = "Red Widget"
lineItem2.quantity = 890
lineItem2.unitCost = 45.89F

Dim lineItems(1) As PurchaseOrderLineItem
lineItems(0) = lineItem1
lineItems(1) = lineItem2

po.orderLineItems = lineItems

Dim ordermsg As MsmqMessage(Of PurchaseOrder) = New MsmqMessage(Of PurchaseOrder)(po)
Using scope As New TransactionScope(TransactionScopeOption.Required)
    channel.SubmitPurchaseOrder(ordermsg)
    scope.Complete()
End Using
Console.WriteLine("Order has been submitted:{0}", po)

Hinweise

Wichtig

Das Aufrufen von Methoden aus dieser Klasse mit nicht vertrauenswürdigen Daten stellt ein Sicherheitsrisiko dar. Rufen Sie die Methoden aus dieser Klasse nur mit vertrauenswürdigen Daten auf. Weitere Informationen finden Sie unter "Alle Eingaben überprüfen".

Diese Bindung kann verwendet werden, um WCF-Anwendungen das Senden und Empfangen von Nachrichten an und von vorhandenen MSMQ-Anwendungen zu ermöglichen, die COM, native C++-APIs oder die im Namespace definierten System.Messaging Typen verwenden.

Konstruktoren

MsmqIntegrationBinding()

Initialisiert eine neue Instanz der MsmqIntegrationBinding-Klasse.

MsmqIntegrationBinding(MsmqIntegrationSecurityMode)

Initialisiert eine neue Instanz der MsmqIntegrationBinding-Klasse, indem der angegebene MsmqIntegrationSecurityMode verwendet wird.

MsmqIntegrationBinding(String)

Initialisiert eine neue Instanz der MsmqIntegrationBinding-Klasse aus den Einstellungen eines angegebenen Konfigurationsbindungselements.

Eigenschaften

CloseTimeout

Ruft das Zeitintervall ab, das für eine Verbindung eingerichtet ist, die geschlossen wird, bevor ein Transport eine Ausnahme auslöst, oder legt dieses fest.

(Geerbt von Binding)
CustomDeadLetterQueue

Ruft einen URI ab oder legt einen URI fest, der den Speicherort der Warteschlange für unzustellbare Meldungen für jede Anwendung enthält, in der Meldungen platziert werden, die abgelaufen sind oder für die die Übertragung fehlgeschlagen ist.

(Geerbt von MsmqBindingBase)
DeadLetterQueue

Ruft einen Enumerationswert ab oder legt einen Enumerationswert fest, der den Typ der zu verwendenden Warteschlange für unzustellbare Meldungen angibt.

(Geerbt von MsmqBindingBase)
Durable

Ruft einen Wert ab, der angibt, ob die von dieser Bindung verarbeiteten Meldungen permanent oder flüchtig sind, oder legt einen Wert fest.

(Geerbt von MsmqBindingBase)
ExactlyOnce

Ruft einen booleschen Wert ab, der angibt, ob die von dieser Bindung verarbeiteten Meldungen genau einmal empfangen werden, oder legt diesen Wert fest.

(Geerbt von MsmqBindingBase)
MaxReceivedMessageSize

Ruft die maximale Größe in Byte für eine Nachricht ab, die von dieser Bindung verarbeitet wird, oder legt sie fest.

(Geerbt von MsmqBindingBase)
MaxRetryCycles

Ruft die maximale Anzahl der Neuversuche für den Versand von Meldungen an die empfangende Anwendung ab oder legt sie fest.

(Geerbt von MsmqBindingBase)
MessageVersion

Ruft die Nachrichtenversion ab, die von den Clients und Diensten verwendet wird, die mit der Bindung konfiguriert wurden.

(Geerbt von Binding)
Name

Ruft den Namen der Bindung ab oder legt diesen fest.

(Geerbt von Binding)
Namespace

Ruft den XML-Namespace einer Bindung ab oder legt diesen fest.

(Geerbt von Binding)
OpenTimeout

Ruft das Zeitintervall ab, das für eine Verbindung eingerichtet ist, die geöffnet wird, bevor ein Transport eine Ausnahme auslöst, oder legt dieses fest.

(Geerbt von Binding)
ReceiveContextEnabled

Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob das Empfangskontextverhalten angefordert wird.

(Geerbt von MsmqBindingBase)
ReceiveErrorHandling

Ruft einen Enumerationswert fest, der angibt, wie nicht verarbeitbare Meldungen behandelt werden, oder legt diesen fest.

(Geerbt von MsmqBindingBase)
ReceiveRetryCount

Ruft die maximale Anzahl von unmittelbaren Zustellversuchen für eine Meldung ab, die aus der Anwendungswarteschlange gelesen wird, oder legt diese fest.

(Geerbt von MsmqBindingBase)
ReceiveTimeout

Ruft ein Zeitintervall ab oder legt ein Zeitintervall fest, während dessen eine Verbindung inaktiv bleiben kann und keine Anwendungsnachrichten empfangen werden, bevor sie verworfen werden.

(Geerbt von Binding)
RetryCycleDelay

Ruft einen Wert ab oder legt einen Wert fest, der die Zeitverzögerung zwischen den Wiederholungszyklen angibt, in denen versucht wird, eine Meldung zuzustellen, die nicht sofort zugestellt werden konnte.

(Geerbt von MsmqBindingBase)
Scheme

Gibt das Schema für diese Bindung zurück.

(Geerbt von MsmqBindingBase)
Security

Ruft die MsmqIntegrationSecurity ab, die mit dieser Bindung verknüpft ist.

SendTimeout

Ruft das Zeitintervall ab, das für einen Schreibvorgang eingerichtet ist, der abgeschlossen wird, bevor ein Transport eine Ausnahme auslöst, oder legt dieses fest.

(Geerbt von Binding)
SerializationFormat

Ruft das Seriealisierungsformat ab, das zum Serialisieren und Deserialisieren der Nachricht verwendet wird, oder legt es fest.

TimeToLive

Ruft das Zeitintervall ab oder legt das Zeitintervall fest, das angibt, wie lange die von dieser Bindung verarbeiteten Meldungen in der Warteschlange bleiben können, bevor sie ablaufen.

(Geerbt von MsmqBindingBase)
UseMsmqTracing

Ruft einen booleschen Wert ab, der angibt, ob von dieser Bindung verarbeitete Meldungen nachverfolgt werden sollen, oder legt diesen Wert fest.

(Geerbt von MsmqBindingBase)
UseSourceJournal

Ruft einen Wert ab, der angibt, ob von dieser Bindung verarbeitete Meldungskopien in der Quelljournalwarteschlange gespeichert werden sollen, oder legt diesen Wert fest.

(Geerbt von MsmqBindingBase)
ValidityDuration

Ruft einen Wert ab oder legt einen Wert fest, der die Dauer angibt, für die eine Meldung durch die Empfangskontextfunktion gesperrt wird.

(Geerbt von MsmqBindingBase)

Methoden

BuildChannelFactory<TChannel>(BindingParameterCollection)

Erstellt den Kanalfactorystapel auf dem Client, der einen festgelegten Kanaltyp erstellt und der die Funktionen erfüllt, die von einer Auflistung von Bindungsparametern festgelegt werden.

(Geerbt von Binding)
BuildChannelFactory<TChannel>(Object[])

Erstellt den Kanalfactorystapel auf dem Client, der einen festgelegten Kanaltyp erstellt und der die Funktionen erfüllt, die von einem Objektarray festgelegt werden.

(Geerbt von Binding)
BuildChannelListener<TChannel>(BindingParameterCollection)

Erstellt den Kanallistener auf dem Dienst, der einen festgelegten Kanaltyp akzeptiert und der die Funktionen erfüllt, die von einer Auflistung von Bindungsparametern festgelegt werden.

(Geerbt von Binding)
BuildChannelListener<TChannel>(Object[])

Erstellt den Kanallistener auf dem Dienst, der einen festgelegten Kanaltyp akzeptiert und der die festgelegten Funktionen erfüllt.

(Geerbt von Binding)
BuildChannelListener<TChannel>(Uri, BindingParameterCollection)

Erstellt den Kanallistener auf dem Dienst, der einen festgelegten Kanaltyp akzeptiert und der die festgelegten Funktionen erfüllt.

(Geerbt von Binding)
BuildChannelListener<TChannel>(Uri, Object[])

Erstellt den Kanallistener auf dem Dienst, der einen festgelegten Kanaltyp akzeptiert und der die festgelegten Funktionen erfüllt.

(Geerbt von Binding)
BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection)

Erstellt den Kanallistener auf dem Dienst, der einen festgelegten Kanaltyp akzeptiert und der die festgelegten Funktionen erfüllt.

(Geerbt von Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection)

Erstellt den Kanallistener auf dem Dienst, der einen festgelegten Kanaltyp akzeptiert und der die festgelegten Funktionen erfüllt.

(Geerbt von Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[])

Erstellt den Kanallistener auf dem Dienst, der einen festgelegten Kanaltyp akzeptiert und der die festgelegten Funktionen erfüllt.

(Geerbt von Binding)
BuildChannelListener<TChannel>(Uri, String, Object[])

Erstellt den Kanallistener auf dem Dienst, der einen festgelegten Kanaltyp akzeptiert und der die festgelegten Funktionen erfüllt.

(Geerbt von Binding)
CanBuildChannelFactory<TChannel>(BindingParameterCollection)

Gibt einen Wert zurück, der angibt, ob die aktuelle Bindung einen Kanalfactorystapel auf dem Client erstellen kann, der die Auflistung festgelegter Bindungsparameter erfüllt.

(Geerbt von Binding)
CanBuildChannelFactory<TChannel>(Object[])

Gibt einen Wert zurück, der angibt, ob die aktuelle Bindung einen Kanalfactorystapel auf dem Client erstellen kann, der die von einem Objektarray festgelegten Anforderungen erfüllt.

(Geerbt von Binding)
CanBuildChannelListener<TChannel>(BindingParameterCollection)

Gibt einen Wert zurück, der angibt, ob die aktuelle Bindung einen Kanallistenerstapel auf dem Dienst erstellen kann, der die Auflistung festgelegter Bindungsparameter erfüllt.

(Geerbt von Binding)
CanBuildChannelListener<TChannel>(Object[])

Gibt einen Wert zurück, der angibt, ob die aktuelle Bindung einen Kanallistenerstapel auf dem Dienst erstellen kann, der die in einem Objektarray festgelegten Kriterien erfüllt.

(Geerbt von Binding)
CreateBindingElements()

Gibt die Bindungselemente im Basisprofilstapel zurück.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetProperty<T>(BindingParameterCollection)

Gibt ggf. ein angefordertes typisiertes Objekt von der entsprechenden Ebene im Bindungsstapel zurück.

(Geerbt von Binding)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ShouldSerializeName()

Gibt einen Wert zurück, der angibt, ob der Name der Bindung serialisiert werden soll.

(Geerbt von Binding)
ShouldSerializeNamespace()

Gibt einen Wert zurück, der angibt, ob der Namespace der Bindung serialisiert werden soll.

(Geerbt von Binding)
ShouldSerializeSecurity()

Ruft einen Wert ab, der angibt, ob Sicherheitsinformationen serialisiert werden sollen.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

IBindingRuntimePreferences.ReceiveSynchronously

Ruft einen Wert ab, der angibt, ob eingehende Anforderungen effizienter synchron oder asynchron behandelt werden können.

(Geerbt von MsmqBindingBase)

Gilt für