MsmqIntegrationBinding Klas

Definitie

De klasse MsmqIntegrationBinding wijst Microsoft MESSAGE Queuing-berichten (MSMQ) toe aan WCF-berichten (Windows Communication Foundation).

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

Voorbeelden

In het volgende configuratiebestandsfragment ziet u hoe u de MsmqIntegrationBinding binding op de client configureert:

In het volgende codefragment van het configuratiebestand ziet u hoe u de MsmqIntegrationBinding binding configureert voor de service:

[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

De volgende code illustreert hoe u de MsmqIntegrationBinding binding op de service programmatisch gebruikt:

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

De volgende code illustreert hoe u de MsmqIntegrationBinding binding op de client programmatisch gebruikt:

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)

Opmerkingen

Important

Het aanroepen van methoden uit deze klasse met niet-vertrouwde gegevens is een beveiligingsrisico. Roep de methoden van deze klasse alleen aan met vertrouwde gegevens. Zie Alle invoergegevens validerenvoor meer informatie.

Deze binding kan worden gebruikt om WCF-toepassingen in staat te stellen berichten te verzenden naar en te ontvangen van bestaande MSMQ-toepassingen die gebruikmaken van COM, systeemeigen C++-API's of de typen die zijn gedefinieerd in de System.Messaging naamruimte.

Constructors

Name Description
MsmqIntegrationBinding()

Initialiseert een nieuw exemplaar van de MsmqIntegrationBinding klasse.

MsmqIntegrationBinding(MsmqIntegrationSecurityMode)

Initialiseert een nieuw exemplaar van de MsmqIntegrationBinding klasse met behulp van de opgegeven MsmqIntegrationSecurityMode.

MsmqIntegrationBinding(String)

Initialiseert een nieuw exemplaar van de MsmqIntegrationBinding klasse op basis van de instellingen van een opgegeven configuratiebindingselement.

Eigenschappen

Name Description
CloseTimeout

Hiermee haalt u het tijdsinterval op dat is opgegeven voor een verbinding die moet worden gesloten voordat het transport een uitzondering genereert.

(Overgenomen van Binding)
CustomDeadLetterQueue

Hiermee wordt een URI opgehaald of ingesteld die de locatie van de wachtrij met dode brieven voor elke toepassing bevat, waarbij berichten die zijn verlopen of die een mislukte overdracht of bezorging hebben geplaatst.

(Overgenomen van MsmqBindingBase)
DeadLetterQueue

Hiermee wordt een opsommingswaarde opgehaald of ingesteld die aangeeft welk type wachtrij met dode letters moet worden gebruikt.

(Overgenomen van MsmqBindingBase)
Durable

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de berichten die door deze binding worden verwerkt, duurzaam of vluchtig zijn.

(Overgenomen van MsmqBindingBase)
ExactlyOnce

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of berichten die door deze binding worden verwerkt, precies één keer worden ontvangen.

(Overgenomen van MsmqBindingBase)
MaxReceivedMessageSize

Hiermee wordt de maximale grootte, in bytes, opgehaald of ingesteld voor een bericht dat door deze binding wordt verwerkt.

(Overgenomen van MsmqBindingBase)
MaxRetryCycles

Hiermee haalt u het maximum aantal nieuwe pogingen op om te proberen berichten af te leveren aan de ontvangende toepassing.

(Overgenomen van MsmqBindingBase)
MessageVersion

Hiermee haalt u de berichtversie op die wordt gebruikt door clients en services die zijn geconfigureerd met de binding.

(Overgenomen van Binding)
Name

Hiermee haalt u de naam van de binding op of stelt u deze in.

(Overgenomen van Binding)
Namespace

Hiermee haalt u de XML-naamruimte van de binding op of stelt u deze in.

(Overgenomen van Binding)
OpenTimeout

Hiermee haalt u het tijdsinterval op dat is opgegeven voor een verbinding die moet worden geopend voordat het transport een uitzondering genereert.

(Overgenomen van Binding)
ReceiveContextEnabled

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of het gedrag van de ontvangstcontext wordt aangevraagd.

(Overgenomen van MsmqBindingBase)
ReceiveErrorHandling

Hiermee wordt een opsommingswaarde opgehaald of ingesteld die aangeeft hoe gifberichten worden verwerkt.

(Overgenomen van MsmqBindingBase)
ReceiveRetryCount

Hiermee wordt het maximum aantal onmiddellijke bezorgingspogingen opgehaald of ingesteld voor een bericht dat wordt gelezen uit de toepassingswachtrij.

(Overgenomen van MsmqBindingBase)
ReceiveTimeout

Hiermee wordt het tijdsinterval opgehaald of ingesteld dat een verbinding inactief kan blijven, terwijl er geen toepassingsberichten worden ontvangen voordat deze wordt verwijderd.

(Overgenomen van Binding)
RetryCycleDelay

Hiermee wordt een waarde opgehaald of ingesteld die de tijdsvertraging aangeeft tussen nieuwe pogingen bij het bezorgen van een bericht dat niet onmiddellijk kan worden afgeleverd.

(Overgenomen van MsmqBindingBase)
Scheme

Retourneert het schema voor deze binding.

(Overgenomen van MsmqBindingBase)
Security

Hiermee haalt u de MsmqIntegrationSecurity koppeling op die aan deze binding is gekoppeld.

SendTimeout

Hiermee haalt u het tijdsinterval op dat is opgegeven voor een schrijfbewerking die moet worden voltooid voordat het transport een uitzondering genereert.

(Overgenomen van Binding)
SerializationFormat

Hiermee haalt u de serialisatie-indeling op die moet worden gebruikt om het bericht te serialiseren of deserialiseren.

TimeToLive

Hiermee wordt het tijdsinterval opgehaald of ingesteld dat aangeeft hoe lang de berichten die door deze binding worden verwerkt, in de wachtrij kunnen staan voordat ze verlopen.

(Overgenomen van MsmqBindingBase)
UseMsmqTracing

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of berichten die door deze binding worden verwerkt, moeten worden getraceerd.

(Overgenomen van MsmqBindingBase)
UseSourceJournal

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of kopieën van berichten die door deze binding worden verwerkt, moeten worden opgeslagen in de wachtrij van het bronlogboek.

(Overgenomen van MsmqBindingBase)
ValidityDuration

Hiermee wordt een waarde opgehaald of ingesteld waarmee de duur wordt opgegeven waarop een bericht wordt vergrendeld door de functie voor ontvangen context.

(Overgenomen van MsmqBindingBase)

Methoden

Name Description
BuildChannelFactory<TChannel>(BindingParameterCollection)

Bouwt de stack van de kanaalfactory op de client die een opgegeven type kanaal maakt en voldoet aan de functies die zijn opgegeven door een verzameling bindingsparameters.

(Overgenomen van Binding)
BuildChannelFactory<TChannel>(Object[])

Bouwt de stack van de kanaalfactory op de client die een opgegeven type kanaal maakt en voldoet aan de functies die zijn opgegeven door een objectmatrix.

(Overgenomen van Binding)
BuildChannelListener<TChannel>(BindingParameterCollection)

Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de functies die zijn opgegeven door een verzameling bindingsparameters.

(Overgenomen van Binding)
BuildChannelListener<TChannel>(Object[])

Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies.

(Overgenomen van Binding)
BuildChannelListener<TChannel>(Uri, BindingParameterCollection)

Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies.

(Overgenomen van Binding)
BuildChannelListener<TChannel>(Uri, Object[])

Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies.

(Overgenomen van Binding)
BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection)

Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies.

(Overgenomen van Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection)

Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies.

(Overgenomen van Binding)
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[])

Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies.

(Overgenomen van Binding)
BuildChannelListener<TChannel>(Uri, String, Object[])

Bouwt de kanaallistener op de service die een opgegeven type kanaal accepteert en voldoet aan de opgegeven functies.

(Overgenomen van Binding)
CanBuildChannelFactory<TChannel>(BindingParameterCollection)

Retourneert een waarde die aangeeft of de huidige binding een kanaalfactorystack kan bouwen op de client die voldoet aan de verzameling bindingsparameters die zijn opgegeven.

(Overgenomen van Binding)
CanBuildChannelFactory<TChannel>(Object[])

Retourneert een waarde die aangeeft of de huidige binding een kanaalfactorystack kan bouwen op de client die voldoet aan de vereisten die zijn opgegeven door een objectmatrix.

(Overgenomen van Binding)
CanBuildChannelListener<TChannel>(BindingParameterCollection)

Retourneert een waarde die aangeeft of de huidige binding een kanaallistenerstack kan bouwen op de service die voldoet aan de verzameling bindingsparameters die zijn opgegeven.

(Overgenomen van Binding)
CanBuildChannelListener<TChannel>(Object[])

Retourneert een waarde die aangeeft of de huidige binding een kanaallistenerstack kan bouwen op de service die voldoet aan de criteria die zijn opgegeven in een matrix met objecten.

(Overgenomen van Binding)
CreateBindingElements()

Retourneert de bindingselementen in de basisprofielstack.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetProperty<T>(BindingParameterCollection)

Retourneert een getypt object dat, indien aanwezig, is aangevraagd vanuit de juiste laag in de bindingsstack.

(Overgenomen van Binding)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ShouldSerializeName()

Retourneert of de naam van de binding moet worden geserialiseerd.

(Overgenomen van Binding)
ShouldSerializeNamespace()

Retourneert of de naamruimte van de binding moet worden geserialiseerd.

(Overgenomen van Binding)
ShouldSerializeSecurity()

Hiermee wordt een waarde opgehaald die aangeeft of beveiligingsgegevens moeten worden geserialiseerd.

ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Expliciete interface-implementaties

Name Description
IBindingRuntimePreferences.ReceiveSynchronously

Hiermee wordt een waarde opgehaald die aangeeft of binnenkomende aanvragen efficiënter synchroon of asynchroon kunnen worden verwerkt.

(Overgenomen van MsmqBindingBase)

Van toepassing op