Message.Priority プロパティ
アセンブリ: System.Messaging (system.messaging.dll 内)

Dim instance As Message Dim value As MessagePriority value = instance.Priority instance.Priority = value
public: property MessagePriority Priority { MessagePriority get (); void set (MessagePriority value); }
/** @property */ public MessagePriority get_Priority () /** @property */ public void set_Priority (MessagePriority value)
public function get Priority () : MessagePriority public function set Priority (value : MessagePriority)
非トランザクション メッセージの優先順位を表す MessagePriority 値の 1 つ。既定値は Normal です。


Priority プロパティは、送信途中のメッセージや送信先に到達した後のメッセージにおいて、メッセージ キューによるメッセージの処理方法に影響します。優先順位の高いメッセージほど、送信中に優先権が与えられ、送信先キューの中の先頭近くに挿入されます。優先順位の同じメッセージは、到達時刻に応じてキュー内に配置されます。
メッセージの優先順位を設定することが意味を持つのは、非トランザクション メッセージの場合だけです。トランザクション メッセージの優先順位は、メッセージ キューによって自動的に Lowest に設定されます。つまり、トランザクション メッセージの優先順位は無視されます。
Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows CE プラットフォームメモ : バージョン 5.0 よりも前の Windows Mobile 2003 for Pocket PC および Windows CE では、デスクトップ コンピュータから Pocket PC にメッセージが送信されるときに、低い優先順位のメッセージが最初に送られるという不適切な動作になっていました。この動作は、Windows Mobile Version 5.0 および Windows CE Version 5.0 で修正されました。

優先度が異なる 2 つのメッセージをキューに送信し、順番に取得するコード例を次に示します。
Imports System Imports System.Messaging 'Provides a container class for the example. Public Class MyNewQueue ' Provides an entry point into the application. ' ' This example sends and receives a message from ' a queue. Public Shared Sub Main() ' Create a new instance of the class. Dim myNewQueue As New MyNewQueue() ' Send messages to a queue. myNewQueue.SendMessage(MessagePriority.Normal, "First Message Body.") myNewQueue.SendMessage(MessagePriority.Highest, "Second Message Body.") ' Receive messages from a queue. myNewQueue.ReceiveMessage() myNewQueue.ReceiveMessage() Return End Sub 'Main ' Sends a string message to a queue. Public Sub SendMessage(priority As MessagePriority, messageBody As String) ' Connect to a queue on the local computer. Dim myQueue As New MessageQueue(".\myQueue") ' Create a new message. Dim myMessage As New Message() If priority > MessagePriority.Normal Then myMessage.Body = "High Priority: " + messageBody Else myMessage.Body = messageBody End If ' Set the priority of the message. myMessage.Priority = priority ' Send the Order to the queue. myQueue.Send(myMessage) Return End Sub 'SendMessage ' Receives a message. Public Sub ReceiveMessage() ' Connect to the a queue on the local computer. Dim myQueue As New MessageQueue(".\myQueue") ' Set the queue to read the priority. By default, it ' is not read. myQueue.MessageReadPropertyFilter.Priority = True ' Set the formatter to indicate body contains a string. myQueue.Formatter = New XmlMessageFormatter(New Type() {GetType(String)}) Try ' Receive and format the message. Dim myMessage As Message = myQueue.Receive() ' Display message information. Console.WriteLine(("Priority: " + myMessage.Priority.ToString())) Console.WriteLine(("Body: " + myMessage.Body.ToString())) ' Handle invalid serialization format. Catch e As InvalidOperationException Console.WriteLine(e.Message) End Try ' Catch other exceptions as necessary. Return End Sub 'ReceiveMessage End Class 'MyNewQueue
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 sends and receives a message from // a queue. //************************************************** public static void Main() { // Create a new instance of the class. MyNewQueue myNewQueue = new MyNewQueue(); // Send messages to a queue. myNewQueue.SendMessage(MessagePriority.Normal, "First Message Body."); myNewQueue.SendMessage(MessagePriority.Highest, "Second Message Body."); // Receive messages from a queue. myNewQueue.ReceiveMessage(); myNewQueue.ReceiveMessage(); return; } //************************************************** // Sends a string message to a queue. //************************************************** public void SendMessage(MessagePriority priority, string messageBody) { // Connect to a queue on the local computer. MessageQueue myQueue = new MessageQueue(".\\myQueue"); // Create a new message. Message myMessage = new Message(); if(priority > MessagePriority.Normal) { myMessage.Body = "High Priority: " + messageBody; } else myMessage.Body = messageBody; // Set the priority of the message. myMessage.Priority = priority; // Send the Order to the queue. myQueue.Send(myMessage); return; } //************************************************** // Receives a message. //************************************************** public void ReceiveMessage() { // Connect to the a queue on the local computer. MessageQueue myQueue = new MessageQueue(".\\myQueue"); // Set the queue to read the priority. By default, it // is not read. myQueue.MessageReadPropertyFilter.Priority = true; // Set the formatter to indicate body contains a string. myQueue.Formatter = new XmlMessageFormatter(new Type[] {typeof(string)}); try { // Receive and format the message. Message myMessage = myQueue.Receive(); // Display message information. Console.WriteLine("Priority: " + myMessage.Priority.ToString()); Console.WriteLine("Body: " + myMessage.Body.ToString()); } catch (MessageQueueException) { // Handle Message Queuing exceptions. } // Handle invalid serialization format. catch (InvalidOperationException e) { Console.WriteLine(e.Message); } // Catch other exceptions as necessary. return; } } }
#using <system.dll> #using <system.messaging.dll> using namespace System; using namespace System::Messaging; /// <summary> /// Provides a container class for the example. /// </summary> ref class MyNewQueue { //************************************************** // Sends a string message to a queue. //************************************************** public: void SendMessage( MessagePriority priority, String^ messageBody ) { // Connect to a queue on the local computer. MessageQueue^ myQueue = gcnew MessageQueue( ".\\myQueue" ); // Create a new message. Message^ myMessage = gcnew Message; if ( priority > MessagePriority::Normal ) { myMessage->Body = "High Priority: {0}",messageBody; } else { myMessage->Body = messageBody; } // Set the priority of the message. myMessage->Priority = priority; // Send the Order to the queue. myQueue->Send( myMessage ); return; } //************************************************** // Receives a message. //************************************************** void ReceiveMessage() { // Connect to the a queue on the local computer. MessageQueue^ myQueue = gcnew MessageQueue( ".\\myQueue" ); // Set the queue to read the priority. By default, it // is not read. myQueue->MessageReadPropertyFilter->Priority = true; // Set the formatter to indicate body contains a String^. array<Type^>^ p = gcnew array<Type^>(1); p[ 0 ] = String::typeid; myQueue->Formatter = gcnew XmlMessageFormatter( p ); try { // Receive and format the message. Message^ myMessage = myQueue->Receive(); // Display message information. Console::WriteLine( "Priority: {0}", myMessage->Priority ); Console::WriteLine( "Body: {0}", myMessage->Body ); } catch ( MessageQueueException^ ) { // Handle Message Queuing exceptions. } // Handle invalid serialization format. catch ( InvalidOperationException^ e ) { Console::WriteLine( e->Message ); } // Catch other exceptions as necessary. return; } }; //************************************************** // Provides an entry point into the application. // // This example sends and receives a message from // a queue. //************************************************** int main() { // Create a new instance of the class. MyNewQueue^ myNewQueue = gcnew MyNewQueue; // Send messages to a queue. myNewQueue->SendMessage( MessagePriority::Normal, "First Message Body." ); myNewQueue->SendMessage( MessagePriority::Highest, "Second Message Body." ); // Receive messages from a queue. myNewQueue->ReceiveMessage(); myNewQueue->ReceiveMessage(); return 0; }
package MyProject; import System.*; import System.Messaging.*; /// <summary> /// Provides a container class for the example. /// </summary> public class MyNewQueue { //************************************************** // Provides an entry point into the application. // // This example sends and receives a message from // a queue. //************************************************** public static void main(String[] args) { // Create a new instance of the class. MyNewQueue myNewQueue = new MyNewQueue(); // Send messages to a queue. myNewQueue.SendMessage(MessagePriority.Normal, "First Message Body."); myNewQueue.SendMessage(MessagePriority.Highest, "Second Message Body."); // Receive messages from a queue. myNewQueue.ReceiveMessage(); myNewQueue.ReceiveMessage(); return; } //main //************************************************** // Sends a string message to a queue. //************************************************** public void SendMessage(MessagePriority priority, String messageBody) { // Connect to a queue on the local computer. MessageQueue myQueue = new MessageQueue(".\\myQueue"); // Create a new message. Message myMessage = new Message(); if (priority.CompareTo(MessagePriority.Normal) > 0) { myMessage.set_Body("High Priority: " + messageBody); } else { myMessage.set_Body(messageBody); } // Set the priority of the message. myMessage.set_Priority(priority); // Send the Order to the queue. myQueue.Send(myMessage); return; } //SendMessage //************************************************** // Receives a message. //************************************************** public void ReceiveMessage() { // Connect to the a queue on the local computer. MessageQueue myQueue = new MessageQueue(".\\myQueue"); // Set the queue to read the priority. By default, it // is not read. myQueue.get_MessageReadPropertyFilter().set_Priority(true); // Set the formatter to indicate body contains a string. myQueue.set_Formatter(new XmlMessageFormatter(new Type[] { String.class.ToType() })); try { // Receive and format the message. Message myMessage = myQueue.Receive(); // Display message information. Console.WriteLine("Priority: " + myMessage.get_Priority().ToString()); Console.WriteLine("Body: " + myMessage.get_Body().ToString()); } catch (MessageQueueException exp) { // Handle Message Queuing exceptions. } // Handle invalid serialization format. catch (InvalidOperationException e) { Console.WriteLine(e.get_Message()); } // Catch other exceptions as necessary. return; } //ReceiveMessage } //MyNewQueue


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


MessagePriority 列挙体
アセンブリ: System.Messaging (system.messaging.dll 内)

Public Enumeration MessagePriority

メンバ名 | 説明 | |
---|---|---|
![]() | AboveNormal | High と Normal の間のメッセージ優先順位。 |
![]() | High | 高い優先順位。 |
![]() | Highest | 最も高い優先順位。 |
![]() | Low | 低い優先順位。 |
![]() | Lowest | 最も低い優先順位。 |
![]() | Normal | 通常のメッセージ優先順位。 |
![]() | VeryHigh | Highest と High の間のメッセージ優先順位。 |
![]() | VeryLow | Low と Lowest の間のメッセージ優先順位。 |

MessagePriority 列挙体は、Message クラスの Priority プロパティによって使用されます。このプロパティは、送信途中のメッセージや送信先に到達した後のメッセージにおいて、メッセージ キューによるメッセージの処理方法に影響します。優先順位の高いメッセージほど、送信中に優先権が与えられ、送信先キューの中の先頭近くに挿入されます。優先順位の同じメッセージは、到達時刻に応じてキュー内に配置されます。
メッセージ キューがメッセージをパブリック キューに送信するときに、メッセージの優先順位が (MessageQueue クラスの BasePriority プロパティを通じてアクセスできる) パブリック キューの優先順位に追加されます。キューの優先順位は、キュー内でのメッセージの配置には影響を与えず、メッセージ キューによる送信中のメッセージの処理方法にだけ影響します。
基本優先順位は、パブリック キューだけに適用されます。プライベート キューの基本優先順位は常に 0 です。
メッセージの優先順位を設定することが意味を持つのは、非トランザクション メッセージの場合だけです。トランザクション メッセージの優先順位は、メッセージ キューによって自動的に Lowest に設定されます。つまり、トランザクション メッセージの優先順位は無視されます。

優先度が異なる 2 つのメッセージをキューに送信し、順番に取得する例を次に示します。
Imports System Imports System.Messaging 'Provides a container class for the example. Public Class MyNewQueue ' Provides an entry point into the application. ' ' This example sends and receives a message from ' a queue. Public Shared Sub Main() ' Create a new instance of the class. Dim myNewQueue As New MyNewQueue() ' Send messages to a queue. myNewQueue.SendMessage(MessagePriority.Normal, "First Message Body.") myNewQueue.SendMessage(MessagePriority.Highest, "Second Message Body.") ' Receive messages from a queue. myNewQueue.ReceiveMessage() myNewQueue.ReceiveMessage() Return End Sub 'Main ' Sends a string message to a queue. Public Sub SendMessage(priority As MessagePriority, messageBody As String) ' Connect to a queue on the local computer. Dim myQueue As New MessageQueue(".\myQueue") ' Create a new message. Dim myMessage As New Message() If priority > MessagePriority.Normal Then myMessage.Body = "High Priority: " + messageBody Else myMessage.Body = messageBody End If ' Set the priority of the message. myMessage.Priority = priority ' Send the Order to the queue. myQueue.Send(myMessage) Return End Sub 'SendMessage ' Receives a message. Public Sub ReceiveMessage() ' Connect to the a queue on the local computer. Dim myQueue As New MessageQueue(".\myQueue") ' Set the queue to read the priority. By default, it ' is not read. myQueue.MessageReadPropertyFilter.Priority = True ' Set the formatter to indicate body contains a string. myQueue.Formatter = New XmlMessageFormatter(New Type() {GetType(String)}) Try ' Receive and format the message. Dim myMessage As Message = myQueue.Receive() ' Display message information. Console.WriteLine(("Priority: " + myMessage.Priority.ToString())) Console.WriteLine(("Body: " + myMessage.Body.ToString())) ' Handle invalid serialization format. Catch e As InvalidOperationException Console.WriteLine(e.Message) End Try ' Catch other exceptions as necessary. Return End Sub 'ReceiveMessage End Class 'MyNewQueue
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 sends and receives a message from // a queue. //************************************************** public static void Main() { // Create a new instance of the class. MyNewQueue myNewQueue = new MyNewQueue(); // Send messages to a queue. myNewQueue.SendMessage(MessagePriority.Normal, "First Message Body."); myNewQueue.SendMessage(MessagePriority.Highest, "Second Message Body."); // Receive messages from a queue. myNewQueue.ReceiveMessage(); myNewQueue.ReceiveMessage(); return; } //************************************************** // Sends a string message to a queue. //************************************************** public void SendMessage(MessagePriority priority, string messageBody) { // Connect to a queue on the local computer. MessageQueue myQueue = new MessageQueue(".\\myQueue"); // Create a new message. Message myMessage = new Message(); if(priority > MessagePriority.Normal) { myMessage.Body = "High Priority: " + messageBody; } else myMessage.Body = messageBody; // Set the priority of the message. myMessage.Priority = priority; // Send the Order to the queue. myQueue.Send(myMessage); return; } //************************************************** // Receives a message. //************************************************** public void ReceiveMessage() { // Connect to the a queue on the local computer. MessageQueue myQueue = new MessageQueue(".\\myQueue"); // Set the queue to read the priority. By default, it // is not read. myQueue.MessageReadPropertyFilter.Priority = true; // Set the formatter to indicate body contains a string. myQueue.Formatter = new XmlMessageFormatter(new Type[] {typeof(string)}); try { // Receive and format the message. Message myMessage = myQueue.Receive(); // Display message information. Console.WriteLine("Priority: " + myMessage.Priority.ToString()); Console.WriteLine("Body: " + myMessage.Body.ToString()); } catch (MessageQueueException) { // Handle Message Queuing exceptions. } // Handle invalid serialization format. catch (InvalidOperationException e) { Console.WriteLine(e.Message); } // Catch other exceptions as necessary. return; } } }
#using <system.dll> #using <system.messaging.dll> using namespace System; using namespace System::Messaging; /// <summary> /// Provides a container class for the example. /// </summary> ref class MyNewQueue { //************************************************** // Sends a string message to a queue. //************************************************** public: void SendMessage( MessagePriority priority, String^ messageBody ) { // Connect to a queue on the local computer. MessageQueue^ myQueue = gcnew MessageQueue( ".\\myQueue" ); // Create a new message. Message^ myMessage = gcnew Message; if ( priority > MessagePriority::Normal ) { myMessage->Body = "High Priority: {0}",messageBody; } else { myMessage->Body = messageBody; } // Set the priority of the message. myMessage->Priority = priority; // Send the Order to the queue. myQueue->Send( myMessage ); return; } //************************************************** // Receives a message. //************************************************** void ReceiveMessage() { // Connect to the a queue on the local computer. MessageQueue^ myQueue = gcnew MessageQueue( ".\\myQueue" ); // Set the queue to read the priority. By default, it // is not read. myQueue->MessageReadPropertyFilter->Priority = true; // Set the formatter to indicate body contains a String^. array<Type^>^ p = gcnew array<Type^>(1); p[ 0 ] = String::typeid; myQueue->Formatter = gcnew XmlMessageFormatter( p ); try { // Receive and format the message. Message^ myMessage = myQueue->Receive(); // Display message information. Console::WriteLine( "Priority: {0}", myMessage->Priority ); Console::WriteLine( "Body: {0}", myMessage->Body ); } catch ( MessageQueueException^ ) { // Handle Message Queuing exceptions. } // Handle invalid serialization format. catch ( InvalidOperationException^ e ) { Console::WriteLine( e->Message ); } // Catch other exceptions as necessary. return; } }; //************************************************** // Provides an entry point into the application. // // This example sends and receives a message from // a queue. //************************************************** int main() { // Create a new instance of the class. MyNewQueue^ myNewQueue = gcnew MyNewQueue; // Send messages to a queue. myNewQueue->SendMessage( MessagePriority::Normal, "First Message Body." ); myNewQueue->SendMessage( MessagePriority::Highest, "Second Message Body." ); // Receive messages from a queue. myNewQueue->ReceiveMessage(); myNewQueue->ReceiveMessage(); return 0; }
package MyProject; import System.*; import System.Messaging.*; /// <summary> /// Provides a container class for the example. /// </summary> public class MyNewQueue { //************************************************** // Provides an entry point into the application. // // This example sends and receives a message from // a queue. //************************************************** public static void main(String[] args) { // Create a new instance of the class. MyNewQueue myNewQueue = new MyNewQueue(); // Send messages to a queue. myNewQueue.SendMessage(MessagePriority.Normal, "First Message Body."); myNewQueue.SendMessage(MessagePriority.Highest, "Second Message Body."); // Receive messages from a queue. myNewQueue.ReceiveMessage(); myNewQueue.ReceiveMessage(); return; } //main //************************************************** // Sends a string message to a queue. //************************************************** public void SendMessage(MessagePriority priority, String messageBody) { // Connect to a queue on the local computer. MessageQueue myQueue = new MessageQueue(".\\myQueue"); // Create a new message. Message myMessage = new Message(); if (priority.CompareTo(MessagePriority.Normal) > 0) { myMessage.set_Body("High Priority: " + messageBody); } else { myMessage.set_Body(messageBody); } // Set the priority of the message. myMessage.set_Priority(priority); // Send the Order to the queue. myQueue.Send(myMessage); return; } //SendMessage //************************************************** // Receives a message. //************************************************** public void ReceiveMessage() { // Connect to the a queue on the local computer. MessageQueue myQueue = new MessageQueue(".\\myQueue"); // Set the queue to read the priority. By default, it // is not read. myQueue.get_MessageReadPropertyFilter().set_Priority(true); // Set the formatter to indicate body contains a string. myQueue.set_Formatter(new XmlMessageFormatter(new Type[] { String.class.ToType() })); try { // Receive and format the message. Message myMessage = myQueue.Receive(); // Display message information. Console.WriteLine("Priority: " + myMessage.get_Priority().ToString()); Console.WriteLine("Body: " + myMessage.get_Body().ToString()); } catch (MessageQueueException exp) { // Handle Message Queuing exceptions. } // Handle invalid serialization format. catch (InvalidOperationException e) { Console.WriteLine(e.get_Message()); } // Catch other exceptions as necessary. return; } //ReceiveMessage } //MyNewQueue

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からMessage.Priorityを検索する場合は、下記のリンクをクリックしてください。

- Message.Priorityのページへのリンク