NetMsmqBinding Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt eine in die Warteschlange eingereihte Bindung dar, die für die computerübergreifende Kommunikation geeignet ist.
public ref class NetMsmqBinding : System::ServiceModel::MsmqBindingBase
public class NetMsmqBinding : System.ServiceModel.MsmqBindingBase
type NetMsmqBinding = class
inherit MsmqBindingBase
Public Class NetMsmqBinding
Inherits MsmqBindingBase
- Vererbung
Beispiele
Das folgende Beispiel zeigt, wie Sie einen Dienst für die Verwendung der NetMsmqBinding Bindung konfigurieren.
Zuerst die Konfigurationsdatei.
Als Nächstes wird der tatsächliche Dienstcode verwendet.
// 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
Hinweise
Die NetMsmqBinding Bindung bietet Unterstützung für die Warteschlange mithilfe von Message Queuing (MSMQ) als Transport und ermöglicht die Unterstützung für lose gekoppelte Anwendungen, Fehlerisolation, Ladeabgleich und getrennten Vorgängen. Eine Erläuterung dieser Features finden Sie unter "Warteschlangenübersicht".
Dies ist eine der vom System bereitgestellten Bindungen, die von Windows Communication Foundation (WCF) bereitgestellt werden. Das empfohlene Verfahren besteht darin, die Bindung mithilfe von Konfigurationswerten zu definieren und nicht einen codebasierten Ansatz zu verwenden, außer in bestimmten erweiterten Szenarien, in denen Konfigurationswerte als Dienst initialisiert werden müssen.
Konstruktoren
| Name | Beschreibung |
|---|---|
| NetMsmqBinding() |
Initialisiert eine neue Instanz der NetMsmqBinding-Klasse. |
| NetMsmqBinding(NetMsmqSecurityMode) |
Initialisiert eine neue Instanz der NetMsmqBinding Klasse mithilfe des angegebenen Sicherheitsmodus. |
| NetMsmqBinding(String) |
Initialisiert eine neue Instanz der NetMsmqBinding Klasse aus den Einstellungen eines angegebenen Konfigurationsbindungselements. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| CloseTimeout |
Dient zum Abrufen oder Festlegen des Zeitintervalls, das für eine Verbindung bereitgestellt wird, die geschlossen werden soll, bevor der Transport eine Ausnahme auslöst. (Geerbt von Binding) |
| CustomDeadLetterQueue |
Dient zum Abrufen oder Festlegen eines URI, der den Speicherort der Warteschleife für jede Anwendung enthält, in der Nachrichten, die abgelaufen sind oder fehlgeschlagene Übertragungen oder Übermittlungen platziert werden. (Geerbt von MsmqBindingBase) |
| DeadLetterQueue |
Dient zum Abrufen oder Festlegen eines Enumerationswerts, der den Typ der zu verwendenden Warteschlange mit inaktiven Buchstaben angibt. (Geerbt von MsmqBindingBase) |
| Durable |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die von dieser Bindung verarbeiteten Nachrichten dauerhaft oder veränderlich sind. (Geerbt von MsmqBindingBase) |
| EnvelopeVersion |
Ruft die Version von SOAP ab, die für Nachrichten verwendet wird, die von dieser Bindung verarbeitet werden. |
| ExactlyOnce |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob nachrichten, die von dieser Bindung verarbeitet werden, genau einmal empfangen werden. (Geerbt von MsmqBindingBase) |
| MaxBufferPoolSize |
Ruft die maximale Speichermenge ab, die vom Nachrichtenpuffer-Manager, der Nachrichten vom Kanal empfängt, zugewiesen wird, oder legt diesen fest. |
| MaxReceivedMessageSize |
Ruft die maximale Größe in Bytes für eine Nachricht ab, die von dieser Bindung verarbeitet wird, oder legt diese fest. (Geerbt von MsmqBindingBase) |
| MaxRetryCycles |
Ruft die maximale Anzahl von Wiederholungszyklen ab, um die Zustellung von Nachrichten an die empfangende Anwendung zu versuchen, oder legt diese fest. (Geerbt von MsmqBindingBase) |
| MessageVersion |
Ruft die Nachrichtenversion ab, die von Clients und Diensten verwendet wird, die mit der Bindung konfiguriert sind. (Geerbt von Binding) |
| Name |
Dient zum Abrufen oder Festlegen des Namens der Bindung. (Geerbt von Binding) |
| Namespace |
Dient zum Abrufen oder Festlegen des XML-Namespace der Bindung. (Geerbt von Binding) |
| OpenTimeout |
Dient zum Abrufen oder Festlegen des Zeitintervalls, das für eine Verbindung bereitgestellt wird, die geöffnet werden soll, bevor der Transport eine Ausnahme auslöst. (Geerbt von Binding) |
| QueueTransferProtocol |
Dient zum Abrufen oder Festlegen eines Enumerationswerts, der den in die Warteschlange eingereihten Kommunikationskanaltransport angibt, den diese Bindung verwendet. |
| ReaderQuotas |
Ruft die XmlDictionaryReaderQuotas dieser Bindung zugeordnete Bindung ab oder legt sie fest. |
| ReceiveContextEnabled |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das Empfangskontextverhalten angefordert wird. (Geerbt von MsmqBindingBase) |
| ReceiveErrorHandling |
Dient zum Abrufen oder Festlegen eines Enumerationswerts, der angibt, wie Giftnachrichten behandelt werden. (Geerbt von MsmqBindingBase) |
| ReceiveRetryCount |
Ruft die maximale Anzahl von sofortigen Zustellungsversuchen für eine Nachricht ab, die aus der Anwendungswarteschlange gelesen wird, oder legt diese fest. (Geerbt von MsmqBindingBase) |
| ReceiveTimeout |
Ruft ab oder legt das Zeitintervall fest, in dem eine Verbindung inaktiv bleiben kann, während der keine Anwendungsnachrichten empfangen werden, bevor sie gelöscht wird. (Geerbt von Binding) |
| RetryCycleDelay |
Dient zum Abrufen oder Festlegen eines Werts, der die Zeitverzögerung zwischen Wiederholungszyklen angibt, wenn versucht wird, eine Nachricht zu übermitteln, die nicht sofort zugestellt werden kann. (Geerbt von MsmqBindingBase) |
| Scheme |
Gibt das Schema für diese Bindung zurück. (Geerbt von MsmqBindingBase) |
| Security |
Ruft die NetMsmqSecurity dieser Bindung zugeordnete Bindung ab oder legt sie fest. |
| SendTimeout |
Dient zum Abrufen oder Festlegen des Zeitintervalls, das für einen Schreibvorgang bereitgestellt wird, der abgeschlossen werden soll, bevor der Transport eine Ausnahme auslöst. (Geerbt von Binding) |
| TimeToLive |
Ruft ab oder legt das Zeitintervall fest, das angibt, wie lange die von dieser Bindung verarbeiteten Nachrichten in der Warteschlange sein können, bevor sie ablaufen. (Geerbt von MsmqBindingBase) |
| UseActiveDirectory |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob Warteschlangenadressen mithilfe von Active Directory konvertiert werden sollen. |
| UseMsmqTracing |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob von dieser Bindung verarbeitete Nachrichten nachverfolgt werden sollen. (Geerbt von MsmqBindingBase) |
| UseSourceJournal |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob Kopien von Nachrichten, die von dieser Bindung verarbeitet werden, in der Quelljournalwarteschlange gespeichert werden sollen. (Geerbt von MsmqBindingBase) |
| ValidityDuration |
Dient zum Abrufen oder Festlegen eines Werts, der die Dauer angibt, die eine Nachricht durch das Empfangskontextfeature gesperrt wird. (Geerbt von MsmqBindingBase) |
Methoden
| Name | Beschreibung |
|---|---|
| BuildChannelFactory<TChannel>(BindingParameterCollection) |
Erstellt den Kanalfactorystapel auf dem Client, der einen bestimmten Kanaltyp erstellt und die durch eine Sammlung von Bindungsparametern angegebenen Features erfüllt. (Geerbt von Binding) |
| BuildChannelFactory<TChannel>(Object[]) |
Erstellt den Kanalfactorystapel auf dem Client, der einen bestimmten Kanaltyp erstellt und die von einem Objektarray angegebenen Features erfüllt. (Geerbt von Binding) |
| BuildChannelListener<TChannel>(BindingParameterCollection) |
Erstellt den Kanallistener auf dem Dienst, der einen bestimmten Kanaltyp akzeptiert und die durch eine Sammlung von Bindungsparametern angegebenen Features erfüllt. (Geerbt von Binding) |
| BuildChannelListener<TChannel>(Object[]) |
Erstellt den Kanallistener auf dem Dienst, der einen bestimmten Kanaltyp akzeptiert und die angegebenen Features erfüllt. (Geerbt von Binding) |
| BuildChannelListener<TChannel>(Uri, BindingParameterCollection) |
Erstellt den Kanallistener auf dem Dienst, der einen bestimmten Kanaltyp akzeptiert und die angegebenen Features erfüllt. (Geerbt von Binding) |
| BuildChannelListener<TChannel>(Uri, Object[]) |
Erstellt den Kanallistener auf dem Dienst, der einen bestimmten Kanaltyp akzeptiert und die angegebenen Features erfüllt. (Geerbt von Binding) |
| BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection) |
Erstellt den Kanallistener auf dem Dienst, der einen bestimmten Kanaltyp akzeptiert und die angegebenen Features erfüllt. (Geerbt von Binding) |
| BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection) |
Erstellt den Kanallistener auf dem Dienst, der einen bestimmten Kanaltyp akzeptiert und die angegebenen Features erfüllt. (Geerbt von Binding) |
| BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[]) |
Erstellt den Kanallistener auf dem Dienst, der einen bestimmten Kanaltyp akzeptiert und die angegebenen Features erfüllt. (Geerbt von Binding) |
| BuildChannelListener<TChannel>(Uri, String, Object[]) |
Erstellt den Kanallistener auf dem Dienst, der einen bestimmten Kanaltyp akzeptiert und die angegebenen Features 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 der angegebenen 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 angegebenen 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 der angegebenen 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 Array von Objekten angegebenen Kriterien erfüllt. (Geerbt von Binding) |
| CreateBindingElements() |
Gibt eine sortierte Auflistung von Bindungselementen zurück, die in der aktuellen Bindung enthalten sind. |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetProperty<T>(BindingParameterCollection) |
Gibt ein typiertes Objekt zurück, das ( falls vorhanden) aus der entsprechenden Ebene im Bindungsstapel angefordert wird. (Geerbt von Binding) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ShouldSerializeName() |
Gibt zurück, ob der Name der Bindung serialisiert werden soll. (Geerbt von Binding) |
| ShouldSerializeNamespace() |
Gibt zurück, ob der Namespace der Bindung serialisiert werden soll. (Geerbt von Binding) |
| ShouldSerializeReaderQuotas() |
Gibt einen Wert zurück, der angibt, ob sich die ReaderQuotas Eigenschaft vom Standardwert geändert hat und serialisiert werden soll. |
| ShouldSerializeSecurity() |
Gibt einen Wert zurück, der angibt, ob sich die Security Eigenschaft vom Standardwert geändert hat und serialisiert werden soll. |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IBindingRuntimePreferences.ReceiveSynchronously |
Ruft einen Wert ab, der angibt, ob eingehende Anforderungen synchron oder asynchron verarbeitet werden können. (Geerbt von MsmqBindingBase) |