MsmqIntegrationBinding Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Třída MsmqIntegrationBinding mapuje Microsoft zprávy služby Řízení front zpráv (MSMQ) na zprávy Windows Communication Foundation (WCF).
public ref class MsmqIntegrationBinding : System::ServiceModel::MsmqBindingBase
public class MsmqIntegrationBinding : System.ServiceModel.MsmqBindingBase
type MsmqIntegrationBinding = class
inherit MsmqBindingBase
Public Class MsmqIntegrationBinding
Inherits MsmqBindingBase
- Dědičnost
Příklady
Následující fragment kódu konfiguračního MsmqIntegrationBinding souboru ukazuje, jak nakonfigurovat vazbu na klientovi:
Následující fragment kódu konfiguračního MsmqIntegrationBinding souboru ukazuje, jak nakonfigurovat vazbu ve službě:
[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
Následující kód ukazuje, jak používat MsmqIntegrationBinding vazbu ve službě prostřednictvím kódu programu:
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
Následující kód ukazuje, jak používat MsmqIntegrationBinding vazbu v klientovi prostřednictvím kódu programu:
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)
Poznámky
Important
Volání metod z této třídy s nedůvěryhodnými daty představuje bezpečnostní riziko. Volejte metody z této třídy pouze s důvěryhodnými daty. Další informace naleznete v tématu Ověření všech vstupů.
Tuto vazbu lze použít k tomu, aby aplikace WCF mohly odesílat a přijímat zprávy do stávajících aplikací MSMQ, které používají rozhraní COM, nativní rozhraní API jazyka C++ nebo typy definované v System.Messaging oboru názvů.
Konstruktory
| Name | Description |
|---|---|
| MsmqIntegrationBinding() |
Inicializuje novou instanci MsmqIntegrationBinding třídy. |
| MsmqIntegrationBinding(MsmqIntegrationSecurityMode) |
Inicializuje novou instanci MsmqIntegrationBinding třídy pomocí zadané MsmqIntegrationSecurityMode. |
| MsmqIntegrationBinding(String) |
Inicializuje novou instanci MsmqIntegrationBinding třídy z nastavení zadaného elementu vazby konfigurace. |
Vlastnosti
| Name | Description |
|---|---|
| CloseTimeout |
Získá nebo nastaví časový interval zadaný pro připojení zavřít před přenos vyvolá výjimku. (Zděděno od Binding) |
| CustomDeadLetterQueue |
Získá nebo nastaví identifikátor URI, který obsahuje umístění fronty nedoručených zpráv pro každou aplikaci, kde zprávy, jejichž platnost vypršela nebo které selhaly přenos nebo doručení jsou umístěny. (Zděděno od MsmqBindingBase) |
| DeadLetterQueue |
Získá nebo nastaví hodnotu výčtu, která označuje typ fronty nedoručených zpráv, která se má použít. (Zděděno od MsmqBindingBase) |
| Durable |
Získá nebo nastaví hodnotu, která označuje, zda zprávy zpracovávané touto vazbou jsou trvalé nebo nestálé. (Zděděno od MsmqBindingBase) |
| ExactlyOnce |
Získá nebo nastaví hodnotu, která určuje, zda zprávy zpracovávané touto vazbou jsou přijaty přesně jednou. (Zděděno od MsmqBindingBase) |
| MaxReceivedMessageSize |
Získá nebo nastaví maximální velikost v bajtech pro zprávu, která je zpracována touto vazbou. (Zděděno od MsmqBindingBase) |
| MaxRetryCycles |
Získá nebo nastaví maximální počet cyklů opakování k pokusu o doručení zpráv do přijímající aplikace. (Zděděno od MsmqBindingBase) |
| MessageVersion |
Získá verzi zprávy používanou klienty a službami nakonfigurovanými vazbou. (Zděděno od Binding) |
| Name |
Získá nebo nastaví název vazby. (Zděděno od Binding) |
| Namespace |
Získá nebo nastaví obor názvů XML vazby. (Zděděno od Binding) |
| OpenTimeout |
Získá nebo nastaví interval času zadaného pro připojení k otevření před přenos vyvolá výjimku. (Zděděno od Binding) |
| ReceiveContextEnabled |
Získá nebo nastaví hodnotu, která označuje, zda je požadováno chování kontextu příjmu. (Zděděno od MsmqBindingBase) |
| ReceiveErrorHandling |
Získá nebo nastaví hodnotu výčtu, která určuje, jak se zpracovávají otrávené zprávy. (Zděděno od MsmqBindingBase) |
| ReceiveRetryCount |
Získá nebo nastaví maximální počet okamžitých pokusů o doručení zprávy, která je načtena z fronty aplikace. (Zděděno od MsmqBindingBase) |
| ReceiveTimeout |
Získá nebo nastaví interval doby, po kterou může připojení zůstat neaktivní, během kterého nejsou přijaty žádné zprávy aplikace, než se zahodí. (Zděděno od Binding) |
| RetryCycleDelay |
Získá nebo nastaví hodnotu, která označuje časové zpoždění mezi cykly opakování při pokusu o doručení zprávy, která nelze doručit okamžitě. (Zděděno od MsmqBindingBase) |
| Scheme |
Vrátí schéma pro tuto vazbu. (Zděděno od MsmqBindingBase) |
| Security |
Získá přidruženou MsmqIntegrationSecurity k této vazbě. |
| SendTimeout |
Získá nebo nastaví interval času zadaný pro operaci zápisu dokončit před přenos vyvolá výjimku. (Zděděno od Binding) |
| SerializationFormat |
Získá nebo nastaví serializační formát, který se má použít k serializaci nebo deserializaci zprávy. |
| TimeToLive |
Získá nebo nastaví interval času, který označuje, jak dlouho mohou být zprávy zpracovávané touto vazbou ve frontě před vypršením jejich platnosti. (Zděděno od MsmqBindingBase) |
| UseMsmqTracing |
Získá nebo nastaví hodnotu, která určuje, zda zprávy zpracovávané touto vazbou by měly být trasovány. (Zděděno od MsmqBindingBase) |
| UseSourceJournal |
Získá nebo nastaví hodnotu, která označuje, zda kopie zpráv zpracovávaných touto vazbou by měly být uloženy ve zdrojové frontě deníku. (Zděděno od MsmqBindingBase) |
| ValidityDuration |
Získá nebo nastaví hodnotu, která určuje dobu trvání zprávy bude uzamčena funkcí kontextu příjmu. (Zděděno od MsmqBindingBase) |
Metody
| Name | Description |
|---|---|
| BuildChannelFactory<TChannel>(BindingParameterCollection) |
Sestaví zásobník objektu pro vytváření kanálů na klientovi, který vytvoří zadaný typ kanálu a který splňuje funkce určené kolekcí parametrů vazby. (Zděděno od Binding) |
| BuildChannelFactory<TChannel>(Object[]) |
Sestaví zásobník objektu pro vytváření kanálů na klientovi, který vytvoří zadaný typ kanálu a splňuje funkce určené polem objektů. (Zděděno od Binding) |
| BuildChannelListener<TChannel>(BindingParameterCollection) |
Sestaví naslouchací proces kanálu ve službě, která přijímá zadaný typ kanálu a splňuje funkce určené kolekcí parametrů vazby. (Zděděno od Binding) |
| BuildChannelListener<TChannel>(Object[]) |
Sestaví naslouchací proces kanálu ve službě, která přijímá zadaný typ kanálu a splňuje zadané funkce. (Zděděno od Binding) |
| BuildChannelListener<TChannel>(Uri, BindingParameterCollection) |
Sestaví naslouchací proces kanálu ve službě, která přijímá zadaný typ kanálu a splňuje zadané funkce. (Zděděno od Binding) |
| BuildChannelListener<TChannel>(Uri, Object[]) |
Sestaví naslouchací proces kanálu ve službě, která přijímá zadaný typ kanálu a splňuje zadané funkce. (Zděděno od Binding) |
| BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection) |
Sestaví naslouchací proces kanálu ve službě, která přijímá zadaný typ kanálu a splňuje zadané funkce. (Zděděno od Binding) |
| BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection) |
Sestaví naslouchací proces kanálu ve službě, která přijímá zadaný typ kanálu a splňuje zadané funkce. (Zděděno od Binding) |
| BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[]) |
Sestaví naslouchací proces kanálu ve službě, která přijímá zadaný typ kanálu a splňuje zadané funkce. (Zděděno od Binding) |
| BuildChannelListener<TChannel>(Uri, String, Object[]) |
Sestaví naslouchací proces kanálu ve službě, která přijímá zadaný typ kanálu a splňuje zadané funkce. (Zděděno od Binding) |
| CanBuildChannelFactory<TChannel>(BindingParameterCollection) |
Vrátí hodnotu, která určuje, zda aktuální vazba může vytvořit zásobník objektu pro vytváření kanálů na klientovi, který splňuje kolekci zadaných parametrů vazby. (Zděděno od Binding) |
| CanBuildChannelFactory<TChannel>(Object[]) |
Vrátí hodnotu, která určuje, zda aktuální vazba může vytvořit zásobník objektu pro vytváření kanálů na klientovi, který splňuje požadavky určené polem objektů. (Zděděno od Binding) |
| CanBuildChannelListener<TChannel>(BindingParameterCollection) |
Vrátí hodnotu, která určuje, zda aktuální vazba může sestavit zásobník naslouchacího procesu kanálu ve službě, která splňuje kolekci zadaných parametrů vazby. (Zděděno od Binding) |
| CanBuildChannelListener<TChannel>(Object[]) |
Vrátí hodnotu, která určuje, zda aktuální vazba může vytvořit zásobník naslouchacího procesu kanálu ve službě, která splňuje kritéria zadaná v poli objektů. (Zděděno od Binding) |
| CreateBindingElements() |
Vrátí prvky vazby v základním zásobníku profilu. |
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetProperty<T>(BindingParameterCollection) |
Vrátí požadovaný typ objektu z příslušné vrstvy v zásobníku vazeb. (Zděděno od Binding) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ShouldSerializeName() |
Vrátí, zda má být název vazby serializován. (Zděděno od Binding) |
| ShouldSerializeNamespace() |
Vrátí, zda má být obor názvů vazby serializován. (Zděděno od Binding) |
| ShouldSerializeSecurity() |
Získá hodnotu, která určuje, zda mají být informace o zabezpečení serializovány. |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| IBindingRuntimePreferences.ReceiveSynchronously |
Získá hodnotu, která označuje, zda příchozí požadavky lze zpracovávat efektivněji nebo asynchronněji. (Zděděno od MsmqBindingBase) |