NetMsmqBinding Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Representerar en köbindning som är lämplig för kommunikation mellan datorer.
public ref class NetMsmqBinding : System::ServiceModel::MsmqBindingBase
public class NetMsmqBinding : System.ServiceModel.MsmqBindingBase
type NetMsmqBinding = class
inherit MsmqBindingBase
Public Class NetMsmqBinding
Inherits MsmqBindingBase
- Arv
Exempel
I följande exempel visas hur du konfigurerar en tjänst för att använda bindningen NetMsmqBinding .
Först konfigurationsfilen.
Därefter den faktiska tjänstkoden.
// 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
Kommentarer
Bindningen NetMsmqBinding ger stöd för köer med hjälp av Message Queuing (MSMQ) som en transport och möjliggör stöd för löst kopplade program, felisolering, belastningsutjämning och frånkopplade åtgärder. En diskussion om de här funktionerna finns i Översikt över köer.
Detta är en av de systembaserade bindningar som tillhandahålls av Windows Communication Foundation (WCF). Den rekommenderade proceduren är att definiera bindningen med hjälp av konfigurationsvärden och inte använda en kodbaserad metod, förutom i vissa avancerade scenarier där konfigurationsvärden måste anges när en tjänst initieras.
Konstruktorer
| Name | Description |
|---|---|
| NetMsmqBinding() |
Initierar en ny instans av NetMsmqBinding klassen. |
| NetMsmqBinding(NetMsmqSecurityMode) |
Initierar en ny instans av NetMsmqBinding klassen med det angivna säkerhetsläget. |
| NetMsmqBinding(String) |
Initierar en ny instans av NetMsmqBinding klassen från inställningarna för ett angivet konfigurationsbindningselement. |
Egenskaper
| Name | Description |
|---|---|
| CloseTimeout |
Hämtar eller anger tidsintervallet för en anslutning som ska stängas innan transporten skapar ett undantag. (Ärvd från Binding) |
| CustomDeadLetterQueue |
Hämtar eller anger en URI som innehåller platsen för kön med obeställbara meddelanden för varje program, där meddelanden som har upphört att gälla eller som har misslyckats med överföring eller leverans placeras. (Ärvd från MsmqBindingBase) |
| DeadLetterQueue |
Hämtar eller anger ett uppräkningsvärde som anger vilken typ av kö med obeställbara bokstäver som ska användas. (Ärvd från MsmqBindingBase) |
| Durable |
Hämtar eller anger ett värde som anger om de meddelanden som bearbetas av den här bindningen är varaktiga eller flyktiga. (Ärvd från MsmqBindingBase) |
| EnvelopeVersion |
Hämtar den version av SOAP som används för meddelanden som bearbetas av den här bindningen. |
| ExactlyOnce |
Hämtar eller anger ett värde som anger om meddelanden som bearbetas av den här bindningen tas emot exakt en gång. (Ärvd från MsmqBindingBase) |
| MaxBufferPoolSize |
Hämtar eller anger den maximala mängden minne som allokeras för användning av meddelandebufferthanteraren som tar emot meddelanden från kanalen. |
| MaxReceivedMessageSize |
Hämtar eller anger den maximala storleken, i byte, för ett meddelande som bearbetas av den här bindningen. (Ärvd från MsmqBindingBase) |
| MaxRetryCycles |
Hämtar eller anger det maximala antalet återförsökscykler för att försöka leverera meddelanden till det mottagande programmet. (Ärvd från MsmqBindingBase) |
| MessageVersion |
Hämtar meddelandeversionen som används av klienter och tjänster som konfigurerats med bindningen. (Ärvd från Binding) |
| Name |
Hämtar eller anger namnet på bindningen. (Ärvd från Binding) |
| Namespace |
Hämtar eller anger XML-namnområdet för bindningen. (Ärvd från Binding) |
| OpenTimeout |
Hämtar eller anger tidsintervallet för en anslutning som ska öppnas innan transporten skapar ett undantag. (Ärvd från Binding) |
| QueueTransferProtocol |
Hämtar eller anger ett uppräkningsvärde som anger den köade kommunikationskanaltransporten som bindningen använder. |
| ReaderQuotas |
Hämtar eller anger XmlDictionaryReaderQuotas den som är associerad med den här bindningen. |
| ReceiveContextEnabled |
Hämtar eller anger ett värde som anger om beteendet för att ta emot kontext begärs. (Ärvd från MsmqBindingBase) |
| ReceiveErrorHandling |
Hämtar eller anger ett uppräkningsvärde som anger hur giftmeddelanden hanteras. (Ärvd från MsmqBindingBase) |
| ReceiveRetryCount |
Hämtar eller anger det maximala antalet omedelbara leveransförsök för ett meddelande som läss från programkön. (Ärvd från MsmqBindingBase) |
| ReceiveTimeout |
Hämtar eller anger det tidsintervall som en anslutning kan förbli inaktiv under vilken inga programmeddelanden tas emot innan den tas bort. (Ärvd från Binding) |
| RetryCycleDelay |
Hämtar eller anger ett värde som anger tidsfördröjningen mellan återförsökscykler när du försöker leverera ett meddelande som inte kan levereras omedelbart. (Ärvd från MsmqBindingBase) |
| Scheme |
Returnerar schemat för den här bindningen. (Ärvd från MsmqBindingBase) |
| Security |
Hämtar eller anger NetMsmqSecurity den som är associerad med den här bindningen. |
| SendTimeout |
Hämtar eller anger tidsintervallet för en skrivåtgärd som ska slutföras innan transporten genererar ett undantag. (Ärvd från Binding) |
| TimeToLive |
Hämtar eller anger det tidsintervall som anger hur länge meddelanden som bearbetas av den här bindningen kan finnas i kön innan de upphör att gälla. (Ärvd från MsmqBindingBase) |
| UseActiveDirectory |
Hämtar eller anger ett värde som anger om köadresser ska konverteras med hjälp av služba Active Directory. |
| UseMsmqTracing |
Hämtar eller anger ett värde som anger om meddelanden som bearbetas av den här bindningen ska spåras. (Ärvd från MsmqBindingBase) |
| UseSourceJournal |
Hämtar eller anger ett värde som anger om kopior av meddelanden som bearbetas av den här bindningen ska lagras i källjournalkön. (Ärvd från MsmqBindingBase) |
| ValidityDuration |
Hämtar eller anger ett värde som anger hur länge ett meddelande ska låsas av funktionen ta emot kontext. (Ärvd från MsmqBindingBase) |
Metoder
| Name | Description |
|---|---|
| BuildChannelFactory<TChannel>(BindingParameterCollection) |
Skapar kanalfabriksstacken på klienten som skapar en angiven typ av kanal och som uppfyller de funktioner som anges av en samling bindningsparametrar. (Ärvd från Binding) |
| BuildChannelFactory<TChannel>(Object[]) |
Skapar kanalfabriksstacken på klienten som skapar en angiven typ av kanal och som uppfyller de funktioner som anges av en objektmatris. (Ärvd från Binding) |
| BuildChannelListener<TChannel>(BindingParameterCollection) |
Skapar kanallyssnaren på tjänsten som accepterar en angiven typ av kanal och som uppfyller de funktioner som anges av en samling bindningsparametrar. (Ärvd från Binding) |
| BuildChannelListener<TChannel>(Object[]) |
Skapar kanallyssnaren på tjänsten som accepterar en angiven typ av kanal och som uppfyller de angivna funktionerna. (Ärvd från Binding) |
| BuildChannelListener<TChannel>(Uri, BindingParameterCollection) |
Skapar kanallyssnaren på tjänsten som accepterar en angiven typ av kanal och som uppfyller de angivna funktionerna. (Ärvd från Binding) |
| BuildChannelListener<TChannel>(Uri, Object[]) |
Skapar kanallyssnaren på tjänsten som accepterar en angiven typ av kanal och som uppfyller de angivna funktionerna. (Ärvd från Binding) |
| BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection) |
Skapar kanallyssnaren på tjänsten som accepterar en angiven typ av kanal och som uppfyller de angivna funktionerna. (Ärvd från Binding) |
| BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection) |
Skapar kanallyssnaren på tjänsten som accepterar en angiven typ av kanal och som uppfyller de angivna funktionerna. (Ärvd från Binding) |
| BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[]) |
Skapar kanallyssnaren på tjänsten som accepterar en angiven typ av kanal och som uppfyller de angivna funktionerna. (Ärvd från Binding) |
| BuildChannelListener<TChannel>(Uri, String, Object[]) |
Skapar kanallyssnaren på tjänsten som accepterar en angiven typ av kanal och som uppfyller de angivna funktionerna. (Ärvd från Binding) |
| CanBuildChannelFactory<TChannel>(BindingParameterCollection) |
Returnerar ett värde som anger om den aktuella bindningen kan skapa en kanalfabriksstack på klienten som uppfyller samlingen med angivna bindningsparametrar. (Ärvd från Binding) |
| CanBuildChannelFactory<TChannel>(Object[]) |
Returnerar ett värde som anger om den aktuella bindningen kan skapa en kanalfabriksstack på klienten som uppfyller de krav som anges av en objektmatris. (Ärvd från Binding) |
| CanBuildChannelListener<TChannel>(BindingParameterCollection) |
Returnerar ett värde som anger om den aktuella bindningen kan skapa en kanallyssningsstack på tjänsten som uppfyller den angivna samlingen med bindningsparametrar. (Ärvd från Binding) |
| CanBuildChannelListener<TChannel>(Object[]) |
Returnerar ett värde som anger om den aktuella bindningen kan skapa en kanallyssningsstack på tjänsten som uppfyller de villkor som anges i en matris med objekt. (Ärvd från Binding) |
| CreateBindingElements() |
Returnerar en ordnad samling bindningselement som finns i den aktuella bindningen. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetProperty<T>(BindingParameterCollection) |
Returnerar ett typat objekt som begärs, om det finns, från lämpligt lager i bindningsstacken. (Ärvd från Binding) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ShouldSerializeName() |
Returnerar om namnet på bindningen ska serialiseras. (Ärvd från Binding) |
| ShouldSerializeNamespace() |
Returnerar om bindningens namnområde ska serialiseras. (Ärvd från Binding) |
| ShouldSerializeReaderQuotas() |
Returnerar ett värde som anger om egenskapen ReaderQuotas har ändrats från standardvärdet och ska serialiseras. |
| ShouldSerializeSecurity() |
Returnerar ett värde som anger om egenskapen Security har ändrats från standardvärdet och ska serialiseras. |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| IBindingRuntimePreferences.ReceiveSynchronously |
Hämtar ett värde som anger om inkommande begäranden kan hanteras mer effektivt synkront eller asynkront. (Ärvd från MsmqBindingBase) |