NetMsmqBinding Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vertegenwoordigt een binding in de wachtrij die geschikt is voor communicatie tussen machines.
public ref class NetMsmqBinding : System::ServiceModel::MsmqBindingBase
public class NetMsmqBinding : System.ServiceModel.MsmqBindingBase
type NetMsmqBinding = class
inherit MsmqBindingBase
Public Class NetMsmqBinding
Inherits MsmqBindingBase
- Overname
Voorbeelden
In het volgende voorbeeld ziet u hoe u een service configureert voor het gebruik van de NetMsmqBinding binding.
Eerst het configuratiebestand.
Vervolgens de werkelijke servicecode.
// 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
Opmerkingen
De NetMsmqBinding binding biedt ondersteuning voor wachtrijen met behulp van Message Queuing (MSMQ) als transport en biedt ondersteuning voor losjes gekoppelde toepassingen, foutisolatie, taakverdeling en verbroken bewerkingen. Zie Overzicht van wachtrijen voor een bespreking van deze functies.
Dit is een van de door het systeem geleverde bindingen die worden geleverd door Windows Communication Foundation (WCF). De aanbevolen procedure is om de binding te definiëren met behulp van configuratiewaarden en niet om een op code gebaseerde benadering te gebruiken, behalve in bepaalde geavanceerde scenario's waarin configuratiewaarden moeten worden ingesteld als een service wordt geïnitialiseerd.
Constructors
| Name | Description |
|---|---|
| NetMsmqBinding() |
Initialiseert een nieuw exemplaar van de NetMsmqBinding klasse. |
| NetMsmqBinding(NetMsmqSecurityMode) |
Initialiseert een nieuw exemplaar van de NetMsmqBinding klasse met behulp van de opgegeven beveiligingsmodus. |
| NetMsmqBinding(String) |
Initialiseert een nieuw exemplaar van de NetMsmqBinding 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) |
| EnvelopeVersion |
Hiermee haalt u de versie van SOAP op die wordt gebruikt voor berichten die door deze binding worden verwerkt. |
| 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) |
| MaxBufferPoolSize |
Hiermee wordt de maximale hoeveelheid geheugen opgehaald of ingesteld die wordt toegewezen voor gebruik door de berichtenbufferbeheerder die berichten van het kanaal ontvangt. |
| 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) |
| QueueTransferProtocol |
Hiermee wordt een opsommingswaarde opgehaald of ingesteld die aangeeft welk transport van het communicatiekanaal in de wachtrij wordt gebruikt door deze binding. |
| ReaderQuotas |
Hiermee haalt u de binding op of stelt u deze XmlDictionaryReaderQuotas in. |
| 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 binding op of stelt u deze NetMsmqSecurity in. |
| 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) |
| 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) |
| UseActiveDirectory |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of wachtrijadressen moeten worden geconverteerd met behulp van Active Directory. |
| 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 een geordende verzameling bindingselementen in de huidige binding. |
| 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) |
| ShouldSerializeReaderQuotas() |
Retourneert een waarde die aangeeft of de eigenschap is gewijzigd van de ReaderQuotas standaardwaarde en moet worden geserialiseerd. |
| ShouldSerializeSecurity() |
Retourneert een waarde die aangeeft of de eigenschap is gewijzigd van de Security standaardwaarde en moet 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) |