Export (0) Print
Expand All

MessageQueue.MessageReadPropertyFilter Property

Gets or sets the property filter for receiving or peeking messages.

Namespace: System.Messaging
Assembly: System.Messaging (in system.messaging.dll)

public MessagePropertyFilter MessageReadPropertyFilter { get; set; }
/** @property */
public MessagePropertyFilter get_MessageReadPropertyFilter ()

/** @property */
public void set_MessageReadPropertyFilter (MessagePropertyFilter value)

public function get MessageReadPropertyFilter () : MessagePropertyFilter

public function set MessageReadPropertyFilter (value : MessagePropertyFilter)

Not applicable.

Property Value

The MessagePropertyFilter used by the queue to filter the set of properties it receives or peeks for each message.

Exception typeCondition

ArgumentException

The filter is a null reference (Nothing in Visual Basic).

This filter is a set of Boolean values restricting the message properties that the MessageQueue receives or peeks. When the MessageQueue receives or peeks a message from the server queue, it retrieves only those properties for which the MessageReadPropertyFilter value is true.

The following shows initial property values for the MessageReadPropertyFilter property. These settings are identical to calling SetDefaults on a MessagePropertyFilter.

The following table shows whether this property is available in various Workgroup modes.

Workgroup mode

Available

Local computer

Yes

Local computer and direct format name

Yes

Remote computer

Yes

Remote computer and direct format name

Yes

Windows Mobile 2003 for Pocket PC, Windows Mobile 2003 for Smartphone, Windows CE Platform Note: The following list shows the initial property values for the MessageReadPropertyFilter property in the .NET Compact Framework. Property values that are not specified here are the same as in the .NET Framework.

  • Acknowledgment: true

  • AcknowledgeType: true

  • ArrivedTime: false

  • CorrelationId: false

  • MessageType: true

  • SentTime: false

  • UseDeadLetterQueue: true

  • UseJournalQueue: true

The following code example uses the MessageReadPropertyFilter to restrict the message properties received.

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 retrieves specific groups of Message
		// properties.
		//**************************************************

		public static void Main()
		{
			// Create a new instance of the class.
			MyNewQueue myNewQueue = new MyNewQueue();

			// Retrieve specific sets of Message properties.
			myNewQueue.RetrieveDefaultProperties();
			myNewQueue.RetrieveAllProperties();
			myNewQueue.RetrieveSelectedProperties();

			return;
		}


		//**************************************************
		// Retrieves the default properties for a Message.
		//**************************************************
		
		public void RetrieveDefaultProperties()
		{

			// Connect to a message queue.
			MessageQueue myQueue = new MessageQueue(".\\myQueue");

			// Specify to retrieve the default properties only.
			myQueue.MessageReadPropertyFilter.SetDefaults();

			// Set the formatter for the Message.
			myQueue.Formatter = new XmlMessageFormatter(new Type[]
				{typeof(String)});

			// Receive the first message in the queue.
			Message myMessage = myQueue.Receive();

			// Display selected properties.
			Console.WriteLine("Label: " + myMessage.Label);
			Console.WriteLine("Body: " + (String)myMessage.Body);
	
			return;
		}


		//**************************************************
		// Retrieves all properties for a Message.
		//**************************************************
		
		public void RetrieveAllProperties()
		{

			// Connect to a message queue.
			MessageQueue myQueue = new MessageQueue(".\\myQueue");

			// Specify to retrieve all properties.
			myQueue.MessageReadPropertyFilter.SetAll();

			// Set the formatter for the Message.
			myQueue.Formatter = new XmlMessageFormatter(new Type[]
				{typeof(String)});

			// Receive the first message in the queue.
			Message myMessage = myQueue.Receive();

			// Display selected properties.
			Console.WriteLine("Encryption algorithm: " + 
				myMessage.EncryptionAlgorithm.ToString());
			Console.WriteLine("Body: " + (String)myMessage.Body);
	
			return;
		}
			

		//**************************************************
		// Retrieves application-specific properties for a
		// Message.
		//**************************************************
		
		public void RetrieveSelectedProperties()
		{
			// Connect to a message queue.
			MessageQueue myQueue = new MessageQueue(".\\myQueue");

			// Specify to retrieve selected properties.
			MessagePropertyFilter myFilter = new 
				MessagePropertyFilter();
			myFilter.ClearAll();
			// The following list is a random subset of available properties.
			myFilter.Body = true;
			myFilter.Label = true;
			myFilter.MessageType = true;
			myFilter.Priority = true;
			myQueue.MessageReadPropertyFilter = myFilter;

			// Set the formatter for the Message.
			myQueue.Formatter = new XmlMessageFormatter(new Type[]
				{typeof(String)});

			// Receive the first message in the queue.
			Message myMessage = myQueue.Receive();

			// Display selected properties.
			Console.WriteLine("Message type: " + 
				myMessage.MessageType.ToString());
			Console.WriteLine("Priority: " + 
				myMessage.Priority.ToString());
	
			return;
			}
	}
}

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 retrieves specific groups of Message
    // properties.
    //**************************************************
    public static void main(String[] args)
    {
        // Create a new instance of the class.
        MyNewQueue myNewQueue = new MyNewQueue();
        // Retrieve specific sets of Message properties.
        myNewQueue.RetrieveDefaultProperties();
        myNewQueue.RetrieveAllProperties();
        myNewQueue.RetrieveSelectedProperties();

        return;
    } //main

    //**************************************************
    // Retrieves the default properties for a Message.
    //**************************************************
    public void RetrieveDefaultProperties()
    {
        // Connect to a message queue.
        MessageQueue myQueue = new MessageQueue(".\\myQueue");
        // Specify to retrieve the default properties only.
        myQueue.get_MessageReadPropertyFilter().SetDefaults();
        // Set the formatter for the Message.
        myQueue.set_Formatter(new XmlMessageFormatter(new Type[]
            { String.class.ToType() }));
        // Receive the first message in the queue.
        Message myMessage = myQueue.Receive();
        // Display selected properties.
        Console.WriteLine("Label: " + myMessage.get_Label());
        Console.WriteLine("Body: " + (String)(myMessage.get_Body()));

        return;
    } //RetrieveDefaultProperties

    //**************************************************
    // Retrieves all properties for a Message.
    //**************************************************
    public void RetrieveAllProperties()
    {
        // Connect to a message queue.
        MessageQueue myQueue = new MessageQueue(".\\myQueue");
        // Specify to retrieve all properties.
        myQueue.get_MessageReadPropertyFilter().SetAll();
        // Set the formatter for the Message.
        myQueue.set_Formatter(new XmlMessageFormatter(new Type[]
            { String.class.ToType() }));
        // Receive the first message in the queue.
        Message myMessage = myQueue.Receive();
        // Display selected properties.
        Console.WriteLine("Encryption algorithm: "
            + myMessage.get_EncryptionAlgorithm().ToString());
        Console.WriteLine("Body: " + (String)(myMessage.get_Body()));
        return;
    } //RetrieveAllProperties

    //**************************************************
    // Retrieves application-specific properties for a
    // Message.
    //**************************************************
    public void RetrieveSelectedProperties()
    {
        // Connect to a message queue.
        MessageQueue myQueue = new MessageQueue(".\\myQueue");
        // Specify to retrieve selected properties.
        MessagePropertyFilter myFilter = new MessagePropertyFilter();
        myFilter.ClearAll();
        // The following list is a random subset of available properties.
        myFilter.set_Body(true);
        myFilter.set_Label(true);
        myFilter.set_MessageType(true);
        myFilter.set_Priority(true);
        myQueue.set_MessageReadPropertyFilter(myFilter);
        // Set the formatter for the Message.
        myQueue.set_Formatter(new XmlMessageFormatter(new Type[] 
            { String.class.ToType() }));
        // Receive the first message in the queue.
        Message myMessage = myQueue.Receive();
        // Display selected properties.
        Console.WriteLine("Message type: "
            + myMessage.get_MessageType().ToString());
        Console.WriteLine("Priority: " + myMessage.get_Priority().ToString());

        return;
    } //RetrieveSelectedProperties
} //MyNewQueue

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0

Community Additions

ADD
Show:
© 2014 Microsoft