ActionMessageFilter 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示一个查询,该查询可以测试消息的操作是否为指定操作集合中的操作。
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,并使用 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) |