Bewerken

Share via


ActionMessageFilter Class

Definition

Represents a query that tests whether the action of a message is one of a specified set of actions.

public ref class ActionMessageFilter : System::ServiceModel::Dispatcher::MessageFilter
[System.Runtime.Serialization.DataContract]
public class ActionMessageFilter : System.ServiceModel.Dispatcher.MessageFilter
[<System.Runtime.Serialization.DataContract>]
type ActionMessageFilter = class
    inherit MessageFilter
Public Class ActionMessageFilter
Inherits MessageFilter
Inheritance
ActionMessageFilter
Attributes

Examples

The following example creates two ActionMessageFilters, gets the action string out of one of the filters using the Actions property, tests a message against the action filters directly, and displays the result of applying the filter.

using System;
using System.Collections.ObjectModel;
using System.ServiceModel;
using System.ServiceModel.Channels;
using System.ServiceModel.Dispatcher;

namespace UE.Wfc.Samples
{
    public static class ActionMessageFilterMatching
    {
        public static void Main()
        {
            // Create several action filters.
            ActionMessageFilter myActFltr = new ActionMessageFilter("1st Action", "2nd Action");
            ActionMessageFilter yourActFltr = new ActionMessageFilter("Your Action");

            // Display the ActionMessageFilter actions.
            ReadOnlyCollection<string> results = myActFltr.Actions;

            foreach (string result in results)
            {
                System.Console.WriteLine(result);
            }

            // Create a message.
            Message message = Message.CreateMessage(MessageVersion.Soap12WSAddressing10, "myBody");

            // Test the message action against a single action filter.
            bool test1 = myActFltr.Match(message);
            bool test2 = yourActFltr.Match(message);
            System.Console.WriteLine("The result of test1 is {0}", test1);
            System.Console.WriteLine("The result of test2 is {0}", test2);
        }
    }
}
Imports System.Collections.ObjectModel
Imports System.ServiceModel
Imports System.ServiceModel.Channels
Imports System.ServiceModel.Dispatcher

Namespace UE.Wfc.Samples
    Class ActionMessageFilterMatching

        Shared Sub Main()

            ' Create several action filters.
            Dim myActFltr As ActionMessageFilter = New ActionMessageFilter("1st Action", "2nd Action")
            Dim yourACtFltr As ActionMessageFilter = New ActionMessageFilter("Your Action")

            ' Display the ActionMessageFilter actions.
            Dim results As ReadOnlyCollection(Of String) = myActFltr.Actions

            For Each result As String In results
                System.Console.WriteLine(result)
            Next

            ' Create a message.
            Dim message As Message = Channels.Message.CreateMessage(MessageVersion.Soap11WSAddressing10, "myBody")

            ' Test the message action against a single action filter.
            Dim test1 As Boolean = myActFltr.Match(message)
            Dim test2 As Boolean = yourACtFltr.Match(message)
            System.Console.WriteLine("The result of test1 is {0}", test1)
            System.Console.WriteLine("The result of test2 is {0}", test2)

        End Sub
    End Class
End Namespace

Remarks

It is invalid to construct an ActionMessageFilter with no actions.

This type is serializable as a DataContractAttribute.

Constructors

ActionMessageFilter(String[])

Initializes a new instance of this class with the set of actions for which it tests.

Properties

Actions

Gets a read-only copy of action strings for which this ActionMessageFilter tests.

Methods

CreateFilterTable<FilterData>()

Creates a new filter table that tests efficiently on message actions.

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
Match(Message)

Tests whether a message's action matches one of the actions specified in this ActionMessageFilter.

Match(MessageBuffer)

Tests whether a buffered message's action header matches one of the actions specified in this ActionMessageFilter.

MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a string that represents the current object.

(Inherited from Object)

Applies to