MsmqIntegrationBinding Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
sınıfı, MsmqIntegrationBinding Microsoft Message Queuing (MSMQ) iletilerini Windows Communication Foundation (WCF) iletilerine eşler.
public ref class MsmqIntegrationBinding : System::ServiceModel::MsmqBindingBase
public class MsmqIntegrationBinding : System.ServiceModel.MsmqBindingBase
type MsmqIntegrationBinding = class
inherit MsmqBindingBase
Public Class MsmqIntegrationBinding
Inherits MsmqBindingBase
- Devralma
Örnekler
Aşağıdaki yapılandırma dosyası kod parçacığında, istemcide bağlamanın MsmqIntegrationBinding nasıl yapılandırılır gösterilmektedir:
Aşağıdaki yapılandırma dosyası kod parçacığında, hizmette bağlamanın MsmqIntegrationBinding nasıl yapılandırılır gösterilmektedir:
[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
Aşağıdaki kod, hizmet üzerindeki bağlamanın MsmqIntegrationBinding program aracılığıyla nasıl kullanılacağını gösterir:
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
Aşağıdaki kod, istemcideki bağlamanın MsmqIntegrationBinding program aracılığıyla nasıl kullanılacağını gösterir:
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)
Açıklamalar
Önemli
Güvenilmeyen verilerle bu sınıftan yöntemleri çağırmak bir güvenlik riskidir. Bu sınıftaki yöntemleri yalnızca güvenilen verilerle çağırın. Daha fazla bilgi için bkz. Tüm Girişleri Doğrulama.
Bu bağlama, WCF uygulamalarının COM, yerel C++ API'leri veya ad alanında System.Messaging tanımlanan türleri kullanan mevcut MSMQ uygulamalarına ileti gönderip almasını sağlamak için kullanılabilir.
Oluşturucular
MsmqIntegrationBinding() |
MsmqIntegrationBinding sınıfının yeni bir örneğini başlatır. |
MsmqIntegrationBinding(MsmqIntegrationSecurityMode) |
Belirtilen MsmqIntegrationSecurityModekullanarak sınıfının yeni bir örneğini MsmqIntegrationBinding başlatır. |
MsmqIntegrationBinding(String) |
Belirtilen yapılandırma bağlama öğesinin MsmqIntegrationBinding ayarlarından sınıfının yeni bir örneğini başlatır. |
Özellikler
CloseTimeout |
Aktarım özel durum oluşturmadan önce bağlantının kapatılması için sağlanan zaman aralığını alır veya ayarlar. (Devralındığı yer: Binding) |
CustomDeadLetterQueue |
Süresi dolmuş veya aktarım veya teslimi başarısız iletilerin yerleştirildiği her uygulama için teslim edilemeyen ileti kuyruğunun konumunu içeren bir URI alır veya ayarlar. (Devralındığı yer: MsmqBindingBase) |
DeadLetterQueue |
Kullanılacak teslim edilemeyen ileti kuyruğunun türünü belirten bir numaralandırma değeri alır veya ayarlar. (Devralındığı yer: MsmqBindingBase) |
Durable |
Bu bağlama tarafından işlenen iletilerin dayanıklı mı yoksa geçici mi olduğunu belirten bir değer alır veya ayarlar. (Devralındığı yer: MsmqBindingBase) |
ExactlyOnce |
Bu bağlama tarafından işlenen iletilerin tam olarak bir kez alınıp alınmadığını belirten bir değer alır veya ayarlar. (Devralındığı yer: MsmqBindingBase) |
MaxReceivedMessageSize |
Bu bağlama tarafından işlenen bir ileti için bayt cinsinden en büyük boyutu alır veya ayarlar. (Devralındığı yer: MsmqBindingBase) |
MaxRetryCycles |
İletilerin alıcı uygulamaya teslimini denemek için en fazla yeniden deneme döngüsü sayısını alır veya ayarlar. (Devralındığı yer: MsmqBindingBase) |
MessageVersion |
Bağlama ile yapılandırılan istemciler ve hizmetler tarafından kullanılan ileti sürümünü alır. (Devralındığı yer: Binding) |
Name |
Bağlamanın adını alır veya ayarlar. (Devralındığı yer: Binding) |
Namespace |
Bağlamanın XML ad alanını alır veya ayarlar. (Devralındığı yer: Binding) |
OpenTimeout |
Aktarım özel durum oluşturmadan önce bağlantının açılması için sağlanan zaman aralığını alır veya ayarlar. (Devralındığı yer: Binding) |
ReceiveContextEnabled |
Alma bağlamı davranışının istenip istenmediğini belirten bir değer alır veya ayarlar. (Devralındığı yer: MsmqBindingBase) |
ReceiveErrorHandling |
Zehirli iletilerin nasıl işleneceğini belirten bir numaralandırma değeri alır veya ayarlar. (Devralındığı yer: MsmqBindingBase) |
ReceiveRetryCount |
Uygulama kuyruğundan okunan bir iletide en fazla anında teslim denemesi sayısını alır veya ayarlar. (Devralındığı yer: MsmqBindingBase) |
ReceiveTimeout |
Bağlantının devre dışı bırakılmadan önce hiçbir uygulama iletisinin alınmadığı devre dışı kalabileceği süreyi alır veya ayarlar. (Devralındığı yer: Binding) |
RetryCycleDelay |
Hemen teslim edilemeyen bir ileti teslim edilmeye çalışılırken yeniden deneme döngüleri arasındaki gecikme süresini belirten bir değer alır veya ayarlar. (Devralındığı yer: MsmqBindingBase) |
Scheme |
Bu bağlamanın düzenini döndürür. (Devralındığı yer: MsmqBindingBase) |
Security |
Bu bağlamayla ilişkili olan öğesini MsmqIntegrationSecurity alır. |
SendTimeout |
Aktarım özel durum oluşturmadan önce yazma işleminin tamamlanması için sağlanan zaman aralığını alır veya ayarlar. (Devralındığı yer: Binding) |
SerializationFormat |
İletiyi seri hale getirmek veya seri durumdan çıkartmak için kullanılacak serileştirme biçimini alır veya ayarlar. |
TimeToLive |
Bu bağlama tarafından işlenen iletilerin süresi dolmadan önce kuyrukta ne kadar süreyle bulunabileceğini gösteren zaman aralığını alır veya ayarlar. (Devralındığı yer: MsmqBindingBase) |
UseMsmqTracing |
Bu bağlama tarafından işlenen iletilerin izlenip izlenmeyeceğini belirten bir değer alır veya ayarlar. (Devralındığı yer: MsmqBindingBase) |
UseSourceJournal |
Bu bağlama tarafından işlenen iletilerin kopyalarının kaynak günlük kuyruğunda depolanıp depolanmayacağını belirten bir değer alır veya ayarlar. (Devralındığı yer: MsmqBindingBase) |
ValidityDuration |
İletinin alma bağlamı özelliği tarafından kilitlenme süresini belirten bir değer alır veya ayarlar. (Devralındığı yer: MsmqBindingBase) |
Yöntemler
BuildChannelFactory<TChannel>(BindingParameterCollection) |
Belirtilen kanal türünü oluşturan ve bağlama parametreleri koleksiyonu tarafından belirtilen özellikleri karşılayan istemci üzerinde kanal fabrikası yığınını oluşturur. (Devralındığı yer: Binding) |
BuildChannelFactory<TChannel>(Object[]) |
Belirtilen kanal türünü oluşturan ve bir nesne dizisi tarafından belirtilen özellikleri karşılayan istemci üzerinde kanal fabrikası yığınını oluşturur. (Devralındığı yer: Binding) |
BuildChannelListener<TChannel>(BindingParameterCollection) |
Belirtilen kanal türünü kabul eden ve bağlama parametreleri koleksiyonu tarafından belirtilen özellikleri karşılayan hizmette kanal dinleyicisini oluşturur. (Devralındığı yer: Binding) |
BuildChannelListener<TChannel>(Object[]) |
Belirtilen kanal türünü kabul eden ve belirtilen özellikleri karşılayan hizmette kanal dinleyicisini oluşturur. (Devralındığı yer: Binding) |
BuildChannelListener<TChannel>(Uri, BindingParameterCollection) |
Belirtilen kanal türünü kabul eden ve belirtilen özellikleri karşılayan hizmette kanal dinleyicisini oluşturur. (Devralındığı yer: Binding) |
BuildChannelListener<TChannel>(Uri, Object[]) |
Belirtilen kanal türünü kabul eden ve belirtilen özellikleri karşılayan hizmette kanal dinleyicisini oluşturur. (Devralındığı yer: Binding) |
BuildChannelListener<TChannel>(Uri, String, BindingParameterCollection) |
Belirtilen kanal türünü kabul eden ve belirtilen özellikleri karşılayan hizmette kanal dinleyicisini oluşturur. (Devralındığı yer: Binding) |
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, BindingParameterCollection) |
Belirtilen kanal türünü kabul eden ve belirtilen özellikleri karşılayan hizmette kanal dinleyicisini oluşturur. (Devralındığı yer: Binding) |
BuildChannelListener<TChannel>(Uri, String, ListenUriMode, Object[]) |
Belirtilen kanal türünü kabul eden ve belirtilen özellikleri karşılayan hizmette kanal dinleyicisini oluşturur. (Devralındığı yer: Binding) |
BuildChannelListener<TChannel>(Uri, String, Object[]) |
Belirtilen kanal türünü kabul eden ve belirtilen özellikleri karşılayan hizmette kanal dinleyicisini oluşturur. (Devralındığı yer: Binding) |
CanBuildChannelFactory<TChannel>(BindingParameterCollection) |
Geçerli bağlamanın istemcide belirtilen bağlama parametrelerinin koleksiyonunu karşılayan bir kanal fabrika yığını oluşturup oluşturamayacağını belirten bir değer döndürür. (Devralındığı yer: Binding) |
CanBuildChannelFactory<TChannel>(Object[]) |
Geçerli bağlamanın istemcide bir nesne dizisi tarafından belirtilen gereksinimleri karşılayan bir kanal fabrika yığını oluşturup oluşturamayacağını gösteren bir değer döndürür. (Devralındığı yer: Binding) |
CanBuildChannelListener<TChannel>(BindingParameterCollection) |
Geçerli bağlamanın hizmette belirtilen bağlama parametreleri koleksiyonunu karşılayan bir kanal dinleyici yığını oluşturup oluşturamayacağını belirten bir değer döndürür. (Devralındığı yer: Binding) |
CanBuildChannelListener<TChannel>(Object[]) |
Geçerli bağlamanın hizmette bir nesne dizisinde belirtilen ölçütleri karşılayan bir kanal dinleyici yığını oluşturup oluşturamayacağını belirten bir değer döndürür. (Devralındığı yer: Binding) |
CreateBindingElements() |
Temel profil yığınındaki bağlama öğelerini döndürür. |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetProperty<T>(BindingParameterCollection) |
Varsa, bağlama yığınındaki uygun katmandan istenen türlenmiş bir nesne döndürür. (Devralındığı yer: Binding) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ShouldSerializeName() |
Bağlama adının seri hale getirilip getirilmeyeceğini döndürür. (Devralındığı yer: Binding) |
ShouldSerializeNamespace() |
Bağlamanın ad alanının seri hale getirilip getirilmeyeceğini döndürür. (Devralındığı yer: Binding) |
ShouldSerializeSecurity() |
Güvenlik bilgilerinin seri hale getirilip getirilmeyeceğini belirten bir değer alır. |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |
Belirtik Arabirim Kullanımları
IBindingRuntimePreferences.ReceiveSynchronously |
Gelen isteklerin daha verimli bir şekilde, zaman uyumlu veya zaman uyumsuz olarak işlenip işlenemeyeceğini gösteren bir değer alır. (Devralındığı yer: MsmqBindingBase) |