MessageQueue.DefaultPropertiesToSend Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает или задает значения свойств сообщения, которые будут использоваться по умолчанию, когда приложение будет отправлять сообщения в очередь.
public:
property System::Messaging::DefaultPropertiesToSend ^ DefaultPropertiesToSend { System::Messaging::DefaultPropertiesToSend ^ get(); void set(System::Messaging::DefaultPropertiesToSend ^ value); };
[System.ComponentModel.Browsable(false)]
[System.Messaging.MessagingDescription("MQ_DefaultPropertiesToSend")]
public System.Messaging.DefaultPropertiesToSend DefaultPropertiesToSend { get; set; }
[<System.ComponentModel.Browsable(false)>]
[<System.Messaging.MessagingDescription("MQ_DefaultPropertiesToSend")>]
member this.DefaultPropertiesToSend : System.Messaging.DefaultPropertiesToSend with get, set
Public Property DefaultPropertiesToSend As DefaultPropertiesToSend
Значение свойства
Свойство DefaultPropertiesToSend, содержащее используемые по умолчанию значения свойств сообщений очереди сообщений, которые применяются, когда приложение отправляет в очередь объекты, отличные от экземпляров Message.
- Атрибуты
Исключения
Для очереди нельзя задать использующиеся по умолчанию свойства. Возможно, потому что неправильно задано одно из свойств.
Примеры
В следующем примере кода используется приоритет сообщения для определения свойств по умолчанию для отправки сообщения.
#using <system.dll>
#using <system.messaging.dll>
using namespace System;
using namespace System::Messaging;
ref class MyNewQueue
{
public:
// Associates selected message property values
// with high priority messages.
void SendHighPriorityMessages()
{
// Connect to a message queue.
MessageQueue^ myQueue = gcnew MessageQueue( ".\\myQueue" );
// Associate selected default property values with high
// priority messages.
myQueue->DefaultPropertiesToSend->Priority = MessagePriority::High;
myQueue->DefaultPropertiesToSend->Label = "High Priority Message";
myQueue->DefaultPropertiesToSend->Recoverable = true;
myQueue->DefaultPropertiesToSend->TimeToReachQueue = TimeSpan(0,0,30);
// Send messages using these defaults.
myQueue->Send( "High priority message data 1." );
myQueue->Send( "High priority message data 2." );
myQueue->Send( "High priority message data 3." );
return;
}
// Associates selected message property values
// with normal priority messages.
void SendNormalPriorityMessages()
{
// Connect to a message queue.
MessageQueue^ myQueue = gcnew MessageQueue( ".\\myQueue" );
// Associate selected default property values with normal
// priority messages.
myQueue->DefaultPropertiesToSend->Priority = MessagePriority::Normal;
myQueue->DefaultPropertiesToSend->Label = "Normal Priority Message";
myQueue->DefaultPropertiesToSend->Recoverable = false;
myQueue->DefaultPropertiesToSend->TimeToReachQueue = TimeSpan(0,2,0);
// Send messages using these defaults.
myQueue->Send( "Normal priority message data 1." );
myQueue->Send( "Normal priority message data 2." );
myQueue->Send( "Normal priority message data 3." );
return;
}
};
// Provides an entry point into the application.
// This example specifies different types of default
// properties for messages.
int main()
{
// Create a new instance of the class.
MyNewQueue^ myNewQueue = gcnew MyNewQueue;
// Send normal and high priority messages.
myNewQueue->SendNormalPriorityMessages();
myNewQueue->SendHighPriorityMessages();
return 0;
}
using System;
using System.Messaging;
namespace MyProject
{
/// <summary>
/// Provides a container class for the example.
/// </summary>
public class MyNewQueue
{
//**************************************************
// Provides an entry point into the application.
//
// This example specifies different types of default
// properties for messages.
//**************************************************
public static void Main()
{
// Create a new instance of the class.
MyNewQueue myNewQueue = new MyNewQueue();
// Send normal and high priority messages.
myNewQueue.SendNormalPriorityMessages();
myNewQueue.SendHighPriorityMessages();
return;
}
//**************************************************
// Associates selected message property values
// with high priority messages.
//**************************************************
public void SendHighPriorityMessages()
{
// Connect to a message queue.
MessageQueue myQueue = new
MessageQueue(".\\myQueue");
// Associate selected default property values with high
// priority messages.
myQueue.DefaultPropertiesToSend.Priority =
MessagePriority.High;
myQueue.DefaultPropertiesToSend.Label =
"High Priority Message";
myQueue.DefaultPropertiesToSend.Recoverable = true;
myQueue.DefaultPropertiesToSend.TimeToReachQueue =
new TimeSpan(0,0,30);
// Send messages using these defaults.
myQueue.Send("High priority message data 1.");
myQueue.Send("High priority message data 2.");
myQueue.Send("High priority message data 3.");
return;
}
//**************************************************
// Associates selected message property values
// with normal priority messages.
//**************************************************
public void SendNormalPriorityMessages()
{
// Connect to a message queue.
MessageQueue myQueue = new MessageQueue(".\\myQueue");
// Associate selected default property values with normal
// priority messages.
myQueue.DefaultPropertiesToSend.Priority =
MessagePriority.Normal;
myQueue.DefaultPropertiesToSend.Label =
"Normal Priority Message";
myQueue.DefaultPropertiesToSend.Recoverable = false;
myQueue.DefaultPropertiesToSend.TimeToReachQueue =
new TimeSpan(0,2,0);
// Send messages using these defaults.
myQueue.Send("Normal priority message data 1.");
myQueue.Send("Normal priority message data 2.");
myQueue.Send("Normal priority message data 3.");
return;
}
}
}
Imports System.Messaging
Public Class MyNewQueue
' Provides an entry point into the application.
'
' This example specifies different types of default
' properties for messages.
Public Shared Sub Main()
' Create a new instance of the class.
Dim myNewQueue As New MyNewQueue()
' Send normal and high priority messages.
myNewQueue.SendNormalPriorityMessages()
myNewQueue.SendHighPriorityMessages()
Return
End Sub
' Associates selected message property values
' with high priority messages.
Public Sub SendHighPriorityMessages()
' Connect to a message queue.
Dim myQueue As New MessageQueue(".\myQueue")
' Associate selected default property values with high
' priority messages.
myQueue.DefaultPropertiesToSend.Priority = _
MessagePriority.High
myQueue.DefaultPropertiesToSend.Label = _
"High Priority Message"
myQueue.DefaultPropertiesToSend.Recoverable = True
myQueue.DefaultPropertiesToSend.TimeToReachQueue = _
New TimeSpan(0, 0, 30)
' Send messages using these defaults.
myQueue.Send("High priority message data 1.")
myQueue.Send("High priority message data 2.")
myQueue.Send("High priority message data 3.")
Return
End Sub
' Associates selected message property values
' with normal priority messages.
Public Sub SendNormalPriorityMessages()
' Connect to a message queue.
Dim myQueue As New MessageQueue(".\myQueue")
' Associate selected default property values with normal
' priority messages.
myQueue.DefaultPropertiesToSend.Priority = _
MessagePriority.Normal
myQueue.DefaultPropertiesToSend.Label = _
"Normal Priority Message"
myQueue.DefaultPropertiesToSend.Recoverable = False
myQueue.DefaultPropertiesToSend.TimeToReachQueue = _
New TimeSpan(0, 2, 0)
' Send messages using these defaults.
myQueue.Send("Normal priority message data 1.")
myQueue.Send("Normal priority message data 2.")
myQueue.Send("Normal priority message data 3.")
Return
End Sub
End Class
Комментарии
При отправке в очередь любого объекта, который не имеет типа Message , MessageQueue объект вставляет его в сообщение очереди сообщений. В это время объект применяется к сообщению значений свойств, MessageQueue указанных в свойстве DefaultPropertiesToSend . И наоборот, при отправке Message в очередь эти свойства уже указаны для самого экземпляра, поэтому DefaultPropertiesToSend игнорируются для Message.
Несмотря на то, что свойства задаются с помощью MessageQueue объекта , DefaultPropertiesToSend относится к свойствам сообщений, отправляемых в очередь, а не самой очереди.
Значения по умолчанию для свойств приведены в следующей таблице.
Свойство. | Значение по умолчанию |
---|---|
AcknowledgeType | AcknowledgeType.None |
AdministrationQueue | null |
AppSpecific | Ноль (0) |
AttachSenderId | true |
EncryptionAlgorithm | EncryptionAlgorithm.RC2 |
Extension | Массив байтов нулевой длины |
HashAlgorithm | HashAlgorithm.MD5 |
Label | Пустая строка ("") |
Priority | MessagePriority.Normal |
Recoverable | false |
ResponseQueue | null |
TimeToBeReceived | Message.InfiniteTimeout |
TimeToReachQueue | Message.InfiniteTimeout |
TransactionStatusQueue | null |
UseAuthentication | false |
UseDeadLetterQueue | false |
UseEncryption | false |
UseJournalQueue | false |
UseTracing | false |
В следующей таблице показано, доступно ли это свойство в различных режимах рабочей группы.
Режим рабочей группы | Доступно |
---|---|
Локальный компьютер | Да |
Имя локального компьютера и прямого формата | Да |
Удаленный компьютер | Да |
Имя удаленного компьютера и прямого формата | Да |