ActionMessageFilter 类

定义

表示一个查询,该查询可以测试消息的操作是否为指定操作集合中的操作。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
type ActionMessageFilter = class
    inherit MessageFilter
Public Class ActionMessageFilter
Inherits MessageFilter
继承
ActionMessageFilter
属性

示例

下面的示例创建了两个 ActionMessageFilter,并使用 Actions 属性从其中一个筛选器中获取了操作字符串,接着利用操作筛选器直接测试消息,然后显示应用该筛选器的结果。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

注解

如果所构造的 ActionMessageFilter 没有操作,则该构造为无效构造。It is invalid to construct an ActionMessageFilter with no actions.

此类型可以序列化为 DataContractAttributeThis type is serializable as a DataContractAttribute.

构造函数

ActionMessageFilter(String[])

利用此类测试的操作的集合来初始化此类的新实例。Initializes a new instance of this class with the set of actions for which it tests.

属性

Actions

获取此 ActionMessageFilter 测试的操作字符串的只读副本。Gets a read-only copy of action strings for which this ActionMessageFilter tests.

方法

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.

(继承自 Object)
GetHashCode()

用作默认哈希函数。Serves as the default hash function.

(继承自 Object)
GetType()

获取当前实例的 TypeGets the Type of the current instance.

(继承自 Object)
Match(Message)

测试消息的操作是否与此 ActionMessageFilter 中指定的操作之一相匹配。Tests whether a message's action matches one of the actions specified in this ActionMessageFilter.

Match(MessageBuffer)

测试缓冲消息的操作标头是否与此 ActionMessageFilter 中指定的操作之一相匹配。Tests whether a buffered message's action header matches one of the actions specified in this ActionMessageFilter.

MemberwiseClone()

创建当前 Object 的浅表副本。Creates a shallow copy of the current Object.

(继承自 Object)
ToString()

返回一个表示当前对象的 string。Returns a string that represents the current object.

(继承自 Object)

适用于