MessageQueue.MessageReadPropertyFilter Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define o filtro de propriedade para receber ou espiar mensagens.
public:
property System::Messaging::MessagePropertyFilter ^ MessageReadPropertyFilter { System::Messaging::MessagePropertyFilter ^ get(); void set(System::Messaging::MessagePropertyFilter ^ value); };
[System.ComponentModel.Browsable(false)]
[System.Messaging.MessagingDescription("MQ_MessageReadPropertyFilter")]
public System.Messaging.MessagePropertyFilter MessageReadPropertyFilter { get; set; }
[<System.ComponentModel.Browsable(false)>]
[<System.Messaging.MessagingDescription("MQ_MessageReadPropertyFilter")>]
member this.MessageReadPropertyFilter : System.Messaging.MessagePropertyFilter with get, set
Public Property MessageReadPropertyFilter As MessagePropertyFilter
Valor da propriedade
O MessagePropertyFilter usado pela fila para filtrar o conjunto de propriedades que recebe ou espia para cada mensagem.
- Atributos
Exceções
O filtro é null.
Exemplos
O exemplo de código a seguir usa o MessageReadPropertyFilter para restringir as propriedades da mensagem recebidas.
#using <system.dll>
#using <system.messaging.dll>
using namespace System;
using namespace System::Messaging;
ref class MyNewQueue
{
public:
//*************************************************
// Retrieves the default properties for a Message.
//*************************************************
void RetrieveDefaultProperties()
{
// Connect to a message queue.
MessageQueue^ myQueue = gcnew MessageQueue( ".\\myQueue" );
// Specify to retrieve the default properties only.
myQueue->MessageReadPropertyFilter->SetDefaults();
// Set the formatter for the Message.
array<Type^>^p = gcnew array<Type^>(1);
p[ 0 ] = String::typeid;
myQueue->Formatter = gcnew XmlMessageFormatter( p );
// Receive the first message in the queue.
Message^ myMessage = myQueue->Receive();
// Display selected properties.
Console::WriteLine( "Label: {0}", myMessage->Label );
Console::WriteLine( "Body: {0}", static_cast<String^>(myMessage->Body) );
return;
}
//*************************************************
// Retrieves all properties for a Message.
//*************************************************
void RetrieveAllProperties()
{
// Connect to a message queue.
MessageQueue^ myQueue = gcnew MessageQueue( ".\\myQueue" );
// Specify to retrieve all properties.
myQueue->MessageReadPropertyFilter->SetAll();
// Set the formatter for the Message.
array<Type^>^p = gcnew array<Type^>(1);
p[ 0 ] = String::typeid;
myQueue->Formatter = gcnew XmlMessageFormatter( p );
// Receive the first message in the queue.
Message^ myMessage = myQueue->Receive();
// Display selected properties.
Console::WriteLine( "Encryption algorithm: {0}", myMessage->EncryptionAlgorithm.ToString() );
Console::WriteLine( "Body: {0}", myMessage->Body );
return;
}
//*************************************************
// Retrieves application-specific properties for a
// Message.
//*************************************************
void RetrieveSelectedProperties()
{
// Connect to a message queue.
MessageQueue^ myQueue = gcnew MessageQueue( ".\\myQueue" );
// Specify to retrieve selected properties.
MessagePropertyFilter^ myFilter = gcnew 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.
array<Type^>^p = gcnew array<Type^>(1);
p[ 0 ] = String::typeid;
myQueue->Formatter = gcnew XmlMessageFormatter( p );
// Receive the first message in the queue.
Message^ myMessage = myQueue->Receive();
// Display selected properties.
Console::WriteLine( "Message type: {0}", myMessage->MessageType.ToString() );
Console::WriteLine( "Priority: {0}", myMessage->Priority.ToString() );
return;
}
};
//*************************************************
// Provides an entry point into the application.
//
// This example retrieves specific groups of Message
// properties.
//*************************************************
int main()
{
// Create a new instance of the class.
MyNewQueue^ myNewQueue = gcnew MyNewQueue;
// Retrieve specific sets of Message properties.
myNewQueue->RetrieveDefaultProperties();
myNewQueue->RetrieveAllProperties();
myNewQueue->RetrieveSelectedProperties();
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 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;
}
}
}
Imports System.Messaging
Public Class MyNewQueue
' Provides an entry point into the application.
'
' This example retrieves specific groups of Message
' properties.
Public Shared Sub Main()
' Create a new instance of the class.
Dim myNewQueue As New MyNewQueue()
' Retrieve specific sets of Message properties.
myNewQueue.RetrieveDefaultProperties()
myNewQueue.RetrieveAllProperties()
myNewQueue.RetrieveSelectedProperties()
Return
End Sub
' Retrieves the default properties for a Message.
Public Sub RetrieveDefaultProperties()
' Connect to a message queue.
Dim myQueue As 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() _
{GetType([String])})
' Receive the first message in the queue.
Dim myMessage As Message = myQueue.Receive()
' Display selected properties.
Console.WriteLine(("Label: " + myMessage.Label))
Console.WriteLine(("Body: " + CType(myMessage.Body, _
[String])))
Return
End Sub
' Retrieves all properties for a Message.
Public Sub RetrieveAllProperties()
' Connect to a message queue.
Dim myQueue As New MessageQueue(".\myQueue")
' Specify to retrieve all properties.
myQueue.MessageReadPropertyFilter.SetAll()
' Set the formatter for the Message.
myQueue.Formatter = New XmlMessageFormatter(New Type() _
{GetType([String])})
' Receive the first message in the queue.
Dim myMessage As Message = myQueue.Receive()
' Display selected properties.
Console.WriteLine(("Encryption algorithm: " + _
myMessage.EncryptionAlgorithm.ToString()))
Console.WriteLine(("Body: " + CType(myMessage.Body, _
[String])))
Return
End Sub
' Retrieves application-specific properties for a
' Message.
Public Sub RetrieveSelectedProperties()
' Connect to a message queue.
Dim myQueue As New MessageQueue(".\myQueue")
' Specify to retrieve selected properties.
Dim myFilter As New MessagePropertyFilter()
myFilter.ClearAll()
' The following list is a random subset of 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() _
{GetType([String])})
' Receive the first message in the queue.
Dim myMessage As Message = myQueue.Receive()
' Display selected properties.
Console.WriteLine(("Message type: " + _
myMessage.MessageType.ToString()))
Console.WriteLine(("Priority: " + _
myMessage.Priority.ToString()))
Return
End Sub
End Class
Comentários
Esse filtro é um conjunto de valores boolianos que restringem as propriedades da mensagem recebidas MessageQueue ou espiadas. Quando recebe MessageQueue ou espia uma mensagem da fila do servidor, ela recupera apenas as propriedades para as quais o MessageReadPropertyFilter valor é true.
O seguinte mostra os valores de propriedade iniciais da MessageReadPropertyFilter propriedade. Essas configurações são idênticas à chamada SetDefaults em um MessagePropertyFilter.
| Propriedade | Valor padrão |
|---|---|
| Acknowledgment | false |
| AcknowledgeType | false |
| AdministrationQueue | true |
| AppSpecific | false |
| ArrivedTime | true |
| AttachSenderId | false |
| Authenticated | false |
| AuthenticationProviderName | false |
| AuthenticationProviderType | false |
| Body | true |
| ConnectorType | false |
| CorrelationId | true |
| DefaultBodySize | 1024 bytes |
| DefaultExtensionSize | 255 bytes |
| DefaultLabelSize | 255 bytes |
| DestinationQueue | false |
| DestinationSymmetricKey | false |
| DigitalSignature | false |
| EncryptionAlgorithm | false |
| Extension | false |
| HashAlgorithm | false |
| Id | true |
| IsFirstInTransaction | false |
| IsLastInTransaction | false |
| Label | true |
| MessageType | false |
| Priority | false |
| Recoverable | false |
| ResponseQueue | true |
| SenderCertificate | false |
| SenderId | false |
| SenderVersion | false |
| SentTime | true |
| SourceMachine | false |
| TimeToBeReceived | false |
| TimeToReachQueue | false |
| TransactionId | false |
| TransactionStatusQueue | false |
| UseAuthentication | false |
| UseDeadLetterQueue | false |
| UseEncryption | false |
| UseJournalQueue | false |
| UseTracing | false |
A tabela a seguir mostra se essa propriedade está disponível em vários modos de Grupo de Trabalho.
| Modo de grupo de trabalho | Disponível |
|---|---|
| Computador local | Sim |
| Nome do computador local e do formato direto | Sim |
| Computador remoto | Sim |
| Computador remoto e nome do formato direto | Sim |