/
ActionMessageFilter.xml
247 lines (223 loc) · 16 KB
/
ActionMessageFilter.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
<Type Name="ActionMessageFilter" FullName="System.ServiceModel.Dispatcher.ActionMessageFilter">
<TypeSignature Language="C#" Value="public class ActionMessageFilter : System.ServiceModel.Dispatcher.MessageFilter" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ActionMessageFilter extends System.ServiceModel.Dispatcher.MessageFilter" />
<TypeSignature Language="DocId" Value="T:System.ServiceModel.Dispatcher.ActionMessageFilter" />
<TypeSignature Language="VB.NET" Value="Public Class ActionMessageFilter
Inherits MessageFilter" />
<TypeSignature Language="F#" Value="type ActionMessageFilter = class
 inherit MessageFilter" />
<TypeSignature Language="C++ CLI" Value="public ref class ActionMessageFilter : System::ServiceModel::Dispatcher::MessageFilter" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.ServiceModel.Dispatcher.MessageFilter</BaseTypeName>
</Base>
<Interfaces />
<Attributes>
<Attribute>
<AttributeName Language="C#">[System.Runtime.Serialization.DataContract]</AttributeName>
<AttributeName Language="F#">[<System.Runtime.Serialization.DataContract>]</AttributeName>
</Attribute>
</Attributes>
<Docs>
<summary>Represents a query that tests whether the action of a message is one of a specified set of actions.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
It is invalid to construct an <xref:System.ServiceModel.Dispatcher.ActionMessageFilter> with no actions.
This type is serializable as a <xref:System.Runtime.Serialization.DataContractAttribute>.
## Examples
The following example creates two <xref:System.ServiceModel.Dispatcher.ActionMessageFilter>s, gets the action string out of one of the filters using the <xref:System.ServiceModel.Dispatcher.ActionMessageFilter.Actions%2A> property, tests a message against the action filters directly, and displays the result of applying the filter.
:::code language="csharp" source="~/snippets/csharp/VS_Snippets_CFX/ueactionfilter/cs/actionfilter.cs" id="Snippet1":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_CFX/ueactionfilter/vb/actionfilter.vb" id="Snippet1":::
]]></format>
</remarks>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public ActionMessageFilter (params string[] actions);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string[] actions) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ServiceModel.Dispatcher.ActionMessageFilter.#ctor(System.String[])" />
<MemberSignature Language="VB.NET" Value="Public Sub New (ParamArray actions As String())" />
<MemberSignature Language="F#" Value="new System.ServiceModel.Dispatcher.ActionMessageFilter : string[] -> System.ServiceModel.Dispatcher.ActionMessageFilter" Usage="new System.ServiceModel.Dispatcher.ActionMessageFilter actions" />
<MemberSignature Language="C++ CLI" Value="public:
 ActionMessageFilter(... cli::array <System::String ^> ^ actions);" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Parameters>
<Parameter Name="actions" Type="System.String[]">
<Attributes>
<Attribute>
<AttributeName Language="C#">[System.ParamArray]</AttributeName>
<AttributeName Language="F#">[<System.ParamArray>]</AttributeName>
</Attribute>
</Attributes>
</Parameter>
</Parameters>
<Docs>
<param name="actions">The <see cref="T:System.Array" /> that contains the set of actions for which the filter tests.</param>
<summary>Initializes a new instance of this class with the set of actions for which it tests.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
If the array of `actions` provided to populate the <xref:System.ServiceModel.Dispatcher.ActionMessageFilter> contains duplicate actions, the duplicates are removed and only one of them is added to the <xref:System.ServiceModel.Dispatcher.ActionMessageFilter>. The <xref:System.Collections.ObjectModel.ReadOnlyCollection%601> of `actions` contained in the <xref:System.ServiceModel.Dispatcher.ActionMessageFilter> is accessed by the <xref:System.ServiceModel.Dispatcher.ActionMessageFilter.Actions%2A> property and cannot be modified after the <xref:System.ServiceModel.Dispatcher.ActionMessageFilter> object is instantiated.
## Examples
:::code language="csharp" source="~/snippets/csharp/VS_Snippets_CFX/ueactionfilter/cs/actionfilter.cs" id="Snippet2":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_CFX/ueactionfilter/vb/actionfilter.vb" id="Snippet2":::
]]></format>
</remarks>
<exception cref="T:System.ArgumentNullException">
<paramref name="actions" /> is <see langword="null" />.</exception>
<exception cref="T:System.ArgumentException">The <paramref name="actions" /> array is empty.</exception>
</Docs>
</Member>
<Member MemberName="Actions">
<MemberSignature Language="C#" Value="public System.Collections.ObjectModel.ReadOnlyCollection<string> Actions { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Collections.ObjectModel.ReadOnlyCollection`1<string> Actions" />
<MemberSignature Language="DocId" Value="P:System.ServiceModel.Dispatcher.ActionMessageFilter.Actions" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property Actions As ReadOnlyCollection(Of String)" />
<MemberSignature Language="F#" Value="member this.Actions : System.Collections.ObjectModel.ReadOnlyCollection<string>" Usage="System.ServiceModel.Dispatcher.ActionMessageFilter.Actions" />
<MemberSignature Language="C++ CLI" Value="public:
 property System::Collections::ObjectModel::ReadOnlyCollection<System::String ^> ^ Actions { System::Collections::ObjectModel::ReadOnlyCollection<System::String ^> ^ get(); };" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Collections.ObjectModel.ReadOnlyCollection<System.String></ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a read-only copy of action strings for which this <see cref="T:System.ServiceModel.Dispatcher.ActionMessageFilter" /> tests.</summary>
<value>The <see cref="T:System.Collections.ObjectModel.ReadOnlyCollection`1" /> that contains the action strings for which this <see cref="T:System.ServiceModel.Dispatcher.ActionMessageFilter" /> tests.</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The actions in the read-only collection returned cannot be modified after the <xref:System.ServiceModel.Dispatcher.ActionMessageFilter> object is instantiated.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="CreateFilterTable<FilterData>">
<MemberSignature Language="C#" Value="protected internal override System.ServiceModel.Dispatcher.IMessageFilterTable<FilterData> CreateFilterTable<FilterData> ();" />
<MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig virtual instance class System.ServiceModel.Dispatcher.IMessageFilterTable`1<!!FilterData> CreateFilterTable<FilterData>() cil managed" />
<MemberSignature Language="DocId" Value="M:System.ServiceModel.Dispatcher.ActionMessageFilter.CreateFilterTable``1" />
<MemberSignature Language="VB.NET" Value="Protected Friend Overrides Function CreateFilterTable(Of FilterData) () As IMessageFilterTable(Of FilterData)" />
<MemberSignature Language="F#" Value="override this.CreateFilterTable : unit -> System.ServiceModel.Dispatcher.IMessageFilterTable<'FilterData>" Usage="actionMessageFilter.CreateFilterTable " />
<MemberSignature Language="C++ CLI" Value="protected public:
generic <typename FilterData>
 override System::ServiceModel::Dispatcher::IMessageFilterTable<FilterData> ^ CreateFilterTable();" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.ServiceModel.Dispatcher.IMessageFilterTable<FilterData></ReturnType>
</ReturnValue>
<TypeParameters>
<TypeParameter Name="FilterData" />
</TypeParameters>
<Parameters />
<Docs>
<typeparam name="FilterData">Data associated with the filters in the table.</typeparam>
<summary>Creates a new filter table that tests efficiently on message actions.</summary>
<returns>An <see cref="T:System.ServiceModel.Dispatcher.IMessageFilterTable`1" /> object to which <see cref="T:System.ServiceModel.Dispatcher.ActionMessageFilter" />s and associated <paramref name="FilterData" /> can be added.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The method returns an instance of <xref:System.ServiceModel.Dispatcher.IMessageFilterTable%601>.
This method is not intended to be called directly. If you require an instance of <xref:System.ServiceModel.Dispatcher.IMessageFilterTable%601>, create one by calling a constructor on the desired type of filter table. In general, <xref:System.ServiceModel.Dispatcher.ActionMessageFilter>s should be added to instances of <xref:System.ServiceModel.Dispatcher.MessageFilterTable%601>.
]]></format>
</remarks>
</Docs>
</Member>
<MemberGroup MemberName="Match">
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Docs>
<summary>Tests whether a message or a buffered message matches one of the actions configured for the filter.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The difference between the two overloads is that one takes a <xref:System.ServiceModel.Channels.Message> parameter and cannot examine the message body; the other takes a <xref:System.ServiceModel.Channels.MessageBuffer> parameter and can examine any part of the message. Because an action filter does not examine the body, these methods are equivalent.
If you must check the message against multiple <xref:System.ServiceModel.Dispatcher.ActionMessageFilter> objects, put the filters into an <xref:System.ServiceModel.Dispatcher.IMessageFilterTable%601> and then use the matching functionality provided by the table.
]]></format>
</remarks>
</Docs>
</MemberGroup>
<Member MemberName="Match">
<MemberSignature Language="C#" Value="public override bool Match (System.ServiceModel.Channels.Message message);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool Match(class System.ServiceModel.Channels.Message message) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ServiceModel.Dispatcher.ActionMessageFilter.Match(System.ServiceModel.Channels.Message)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function Match (message As Message) As Boolean" />
<MemberSignature Language="F#" Value="override this.Match : System.ServiceModel.Channels.Message -> bool" Usage="actionMessageFilter.Match message" />
<MemberSignature Language="C++ CLI" Value="public:
 override bool Match(System::ServiceModel::Channels::Message ^ message);" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="message" Type="System.ServiceModel.Channels.Message" />
</Parameters>
<Docs>
<param name="message">The <see cref="T:System.ServiceModel.Channels.Message" /> to test.</param>
<summary>Tests whether a message's action matches one of the actions specified in this <see cref="T:System.ServiceModel.Dispatcher.ActionMessageFilter" />.</summary>
<returns>
<see langword="true" /> if the <see cref="T:System.ServiceModel.Channels.Message" /> action header matches one of the specified actions; otherwise, <see langword="false" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Use this overload of <xref:System.ServiceModel.Dispatcher.ActionMessageFilter.Match%2A> when a message must be tested against the actions in a single filter and the <xref:System.ServiceModel.Channels.Message> is available.
]]></format>
</remarks>
<exception cref="T:System.ArgumentNullException">
<paramref name="message" /> is <see langword="null" />.</exception>
</Docs>
</Member>
<Member MemberName="Match">
<MemberSignature Language="C#" Value="public override bool Match (System.ServiceModel.Channels.MessageBuffer messageBuffer);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool Match(class System.ServiceModel.Channels.MessageBuffer messageBuffer) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ServiceModel.Dispatcher.ActionMessageFilter.Match(System.ServiceModel.Channels.MessageBuffer)" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function Match (messageBuffer As MessageBuffer) As Boolean" />
<MemberSignature Language="F#" Value="override this.Match : System.ServiceModel.Channels.MessageBuffer -> bool" Usage="actionMessageFilter.Match messageBuffer" />
<MemberSignature Language="C++ CLI" Value="public:
 override bool Match(System::ServiceModel::Channels::MessageBuffer ^ messageBuffer);" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="messageBuffer" Type="System.ServiceModel.Channels.MessageBuffer" />
</Parameters>
<Docs>
<param name="messageBuffer">The <see cref="T:System.ServiceModel.Channels.MessageBuffer" /> to test.</param>
<summary>Tests whether a buffered message's action header matches one of the actions specified in this <see cref="T:System.ServiceModel.Dispatcher.ActionMessageFilter" />.</summary>
<returns>
<see langword="true" /> if the <see cref="T:System.ServiceModel.Channels.MessageBuffer" /> action header matches one of the specified actions; otherwise, <see langword="false" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Use this overload of the <xref:System.ServiceModel.Dispatcher.ActionMessageFilter.Match%2A> method when a message must be tested against the actions in a single filter and the <xref:System.ServiceModel.Channels.MessageBuffer> is available.
]]></format>
</remarks>
<exception cref="T:System.ArgumentNullException">
<paramref name="messageBuffer" /> is <see langword="null" />.</exception>
</Docs>
</Member>
</Members>
</Type>