NetMsmqBinding Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje powiązanie w kolejce, które jest odpowiednie do komunikacji między maszynami.
public ref class NetMsmqBinding : System::ServiceModel::MsmqBindingBase
public class NetMsmqBinding : System.ServiceModel.MsmqBindingBase
type NetMsmqBinding = class
inherit MsmqBindingBase
Public Class NetMsmqBinding
Inherits MsmqBindingBase
- Dziedziczenie
Przykłady
W poniższym przykładzie pokazano, jak skonfigurować usługę do używania NetMsmqBinding powiązania.
Najpierw plik konfiguracji.
Następnie rzeczywisty kod usługi.
// 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
Uwagi
Powiązanie NetMsmqBinding zapewnia obsługę kolejkowania przy użyciu kolejkowania komunikatów (MSMQ) jako transportu i umożliwia obsługę luźno powiązanych aplikacji, izolacji awarii, bilansowania obciążenia i rozłączonych operacji. Aby zapoznać się z omówieniem tych funkcji, zobacz Omówienie kolejek.
Jest to jedno z powiązań dostarczanych przez system dostarczonych przez program Windows Communication Foundation (WCF). Zalecaną procedurą jest zdefiniowanie powiązania przy użyciu wartości konfiguracji, a nie użycie podejścia opartego na kodzie, z wyjątkiem niektórych zaawansowanych scenariuszy, w których wartości konfiguracji muszą być ustawiane jako usługa jest inicjowana.
Konstruktory
NetMsmqBinding() |
Inicjuje nowe wystąpienie klasy NetMsmqBinding. |
NetMsmqBinding(NetMsmqSecurityMode) |
Inicjuje NetMsmqBinding nowe wystąpienie klasy przy użyciu określonego trybu zabezpieczeń. |
NetMsmqBinding(String) |
Inicjuje NetMsmqBinding nowe wystąpienie klasy z ustawień określonego elementu powiązania konfiguracji. |
Właściwości
CloseTimeout |
Pobiera lub ustawia interwał czasu podanego dla połączenia do zamknięcia, zanim transport zgłasza wyjątek. (Odziedziczone po Binding) |
CustomDeadLetterQueue |
Pobiera lub ustawia identyfikator URI, który zawiera lokalizację kolejki utraconych wiadomości dla każdej aplikacji, w której są umieszczane komunikaty, które wygasły lub które zakończyły się niepowodzeniem transferu lub dostarczania. (Odziedziczone po MsmqBindingBase) |
DeadLetterQueue |
Pobiera lub ustawia wartość wyliczenia, która wskazuje typ kolejki utraconych liter do użycia. (Odziedziczone po MsmqBindingBase) |
Durable |
Pobiera lub ustawia wartość wskazującą, czy komunikaty przetwarzane przez to powiązanie są trwałe, czy nietrwałe. (Odziedziczone po MsmqBindingBase) |
EnvelopeVersion |
Pobiera wersję protokołu SOAP, która jest używana do obsługi komunikatów przetwarzanych przez to powiązanie. |
ExactlyOnce |
Pobiera lub ustawia wartość wskazującą, czy komunikaty przetwarzane przez to powiązanie są odbierane dokładnie raz. (Odziedziczone po MsmqBindingBase) |
MaxBufferPoolSize |
Pobiera lub ustawia maksymalną ilość pamięci przydzielonej do użycia przez menedżera buforu komunikatów, który odbiera komunikaty z kanału. |
MaxReceivedMessageSize |
Pobiera lub ustawia maksymalny rozmiar w bajtach dla komunikatu przetwarzanego przez to powiązanie. (Odziedziczone po MsmqBindingBase) |
MaxRetryCycles |
Pobiera lub ustawia maksymalną liczbę cykli ponawiania próby dostarczenia komunikatów do aplikacji odbieranej. (Odziedziczone po MsmqBindingBase) |
MessageVersion |
Pobiera wersję komunikatu używaną przez klientów i usługi skonfigurowane za pomocą powiązania. (Odziedziczone po Binding) |
Name |
Pobiera lub ustawia nazwę powiązania. (Odziedziczone po Binding) |
Namespace |
Pobiera lub ustawia przestrzeń nazw XML powiązania. (Odziedziczone po Binding) |
OpenTimeout |
Pobiera lub ustawia interwał czasu podany dla połączenia do otwarcia, zanim transport zgłosi wyjątek. (Odziedziczone po Binding) |
QueueTransferProtocol |
Pobiera lub ustawia wartość wyliczenia wskazującą transport w kanale komunikacyjnym w kolejce używany przez to powiązanie. |
ReaderQuotas |
Pobiera lub ustawia XmlDictionaryReaderQuotas element skojarzony z tym powiązaniem. |
ReceiveContextEnabled |
Pobiera lub ustawia wartość wskazującą, czy żądanie zachowania kontekstu odbierania jest wymagane. (Odziedziczone po MsmqBindingBase) |
ReceiveErrorHandling |
Pobiera lub ustawia wartość wyliczenia określającą sposób obsługi zatrutych komunikatów. (Odziedziczone po MsmqBindingBase) |
ReceiveRetryCount |
Pobiera lub ustawia maksymalną liczbę prób natychmiastowego dostarczania w komunikacie odczytanym z kolejki aplikacji. (Odziedziczone po MsmqBindingBase) |
ReceiveTimeout |
Pobiera lub ustawia interwał czasu, przez który połączenie może pozostać nieaktywne, podczas którego nie są odbierane żadne komunikaty aplikacji, zanim zostanie porzucony. (Odziedziczone po Binding) |
RetryCycleDelay |
Pobiera lub ustawia wartość wskazującą opóźnienie czasu między cyklami ponawiania próby podczas próby dostarczenia komunikatu, którego nie można dostarczyć natychmiast. (Odziedziczone po MsmqBindingBase) |
Scheme |
Zwraca schemat dla tego powiązania. (Odziedziczone po MsmqBindingBase) |
Security |
Pobiera lub ustawia NetMsmqSecurity element skojarzony z tym powiązaniem. |
SendTimeout |
Pobiera lub ustawia interwał czasu dla operacji zapisu do ukończenia, zanim transport zgłosi wyjątek. (Odziedziczone po Binding) |
TimeToLive |
Pobiera lub ustawia interwał czasu, który wskazuje, jak długo komunikaty przetwarzane przez to powiązanie mogą znajdować się w kolejce przed ich wygaśnięciem. (Odziedziczone po MsmqBindingBase) |
UseActiveDirectory |
Pobiera lub ustawia wartość wskazującą, czy adresy kolejek powinny być konwertowane przy użyciu usługi Active Directory. |
UseMsmqTracing |
Pobiera lub ustawia wartość wskazującą, czy komunikaty przetwarzane przez to powiązanie powinny być śledzone. (Odziedziczone po MsmqBindingBase) |
UseSourceJournal |
Pobiera lub ustawia wartość wskazującą, czy kopie komunikatów przetworzonych przez to powiązanie powinny być przechowywane w kolejce dziennika źródłowego. (Odziedziczone po MsmqBindingBase) |
ValidityDuration |
Pobiera lub ustawia wartość określającą czas trwania komunikatu zostanie zablokowany przez funkcję kontekstu odbierania. (Odziedziczone po MsmqBindingBase) |
Metody
BuildChannelFactory<TChannel>(BindingParameterCollection) |
Tworzy stos fabryki kanałów na kliencie, który tworzy określony typ kanału i spełnia funkcje określone przez kolekcję parametrów powiązania. (Odziedziczone po Binding) |
BuildChannelFactory<TChannel>(Object[]) |
Tworzy stos fabryki kanałów na kliencie, który tworzy określony typ kanału i spełnia funkcje określone przez tablicę obiektów. (Odziedziczone po Binding) |
BuildChannelListener<TChannel>(BindingParameterCollection) |
Tworzy odbiornik kanału w usłudze, który akceptuje określony typ kanału i spełnia funkcje określone przez kolekcję parametrów powiązania. (Odziedziczone po Binding) |
BuildChannelListener<TChannel>(Object[]) |
Tworzy odbiornik kanału w usłudze, który akceptuje określony typ kanału i spełnia określone funkcje. (Odziedziczone po Binding) |
BuildChannelListener<TChannel>(Uri, BindingParameterCollection) |
Tworzy odbiornik kanału w usłudze, który akceptuje określony typ kanału i spełnia określone funkcje. (Odziedziczone po Binding) |
BuildChannelListener<TChannel>(Uri, Object[]) |
Tworzy odbiornik kanału w usłudze, który akceptuje określony typ kanału i spełnia określone funkcje. (Odziedziczone po Binding) |
BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection) |
Tworzy odbiornik kanału w usłudze, który akceptuje określony typ kanału i spełnia określone funkcje. (Odziedziczone po Binding) |
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection) |
Tworzy odbiornik kanału w usłudze, który akceptuje określony typ kanału i spełnia określone funkcje. (Odziedziczone po Binding) |
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[]) |
Tworzy odbiornik kanału w usłudze, który akceptuje określony typ kanału i spełnia określone funkcje. (Odziedziczone po Binding) |
BuildChannelListener<TChannel>(Uri, String, Object[]) |
Tworzy odbiornik kanału w usłudze, który akceptuje określony typ kanału i spełnia określone funkcje. (Odziedziczone po Binding) |
CanBuildChannelFactory<TChannel>(BindingParameterCollection) |
Zwraca wartość wskazującą, czy bieżące powiązanie może utworzyć stos fabryki kanału na kliencie, który spełnia określone parametry powiązania. (Odziedziczone po Binding) |
CanBuildChannelFactory<TChannel>(Object[]) |
Zwraca wartość wskazującą, czy bieżące powiązanie może utworzyć stos fabryki kanałów na kliencie, który spełnia wymagania określone przez tablicę obiektów. (Odziedziczone po Binding) |
CanBuildChannelListener<TChannel>(BindingParameterCollection) |
Zwraca wartość wskazującą, czy bieżące powiązanie może utworzyć stos odbiornika kanału w usłudze, która spełnia określone parametry powiązania. (Odziedziczone po Binding) |
CanBuildChannelListener<TChannel>(Object[]) |
Zwraca wartość wskazującą, czy bieżące powiązanie może utworzyć stos odbiornika kanału w usłudze, która spełnia kryteria określone w tablicy obiektów. (Odziedziczone po Binding) |
CreateBindingElements() |
Zwraca uporządkowaną kolekcję elementów powiązania zawartych w bieżącym powiązaniu. |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetProperty<T>(BindingParameterCollection) |
Zwraca żądany obiekt typu z odpowiedniej warstwy w stosie powiązań. (Odziedziczone po Binding) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ShouldSerializeName() |
Zwraca, czy nazwa powiązania powinna być serializowana. (Odziedziczone po Binding) |
ShouldSerializeNamespace() |
Zwraca, czy przestrzeń nazw powiązania powinna być serializowana. (Odziedziczone po Binding) |
ShouldSerializeReaderQuotas() |
Zwraca wartość wskazującą, czy ReaderQuotas właściwość zmieniła się z wartości domyślnej i powinna być serializowana. |
ShouldSerializeSecurity() |
Zwraca wartość wskazującą, czy Security właściwość zmieniła się z wartości domyślnej i powinna być serializowana. |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Jawne implementacje interfejsu
IBindingRuntimePreferences.ReceiveSynchronously |
Pobiera wartość wskazującą, czy żądania przychodzące mogą być obsługiwane wydajniej synchronicznie lub asynchronicznie. (Odziedziczone po MsmqBindingBase) |