ActionMessageFilter 类

定义

表示一个查询,该查询可以测试消息的操作是否为指定操作集合中的操作。

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
继承
ActionMessageFilter
属性

示例

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

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 没有操作,则该构造为无效构造。

此类型可以序列化为 DataContractAttribute

构造函数

ActionMessageFilter(String[])

利用此类测试的操作的集合来初始化此类的新实例。

属性

Actions

获取此 ActionMessageFilter 测试的操作字符串的只读副本。

方法

CreateFilterTable<FilterData>()

创建一个可以有效地测试消息操作的新筛选器表。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
Match(Message)

测试消息的操作是否与此 ActionMessageFilter 中指定的操作之一相匹配。

Match(MessageBuffer)

测试缓冲消息的操作标头是否与此 ActionMessageFilter 中指定的操作之一相匹配。

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回表示当前对象的字符串。

(继承自 Object)

适用于