-
Notifications
You must be signed in to change notification settings - Fork 1.5k
/
IDispatchOperationSelector.xml
77 lines (67 loc) · 3.89 KB
/
IDispatchOperationSelector.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
<Type Name="IDispatchOperationSelector" FullName="System.ServiceModel.Dispatcher.IDispatchOperationSelector">
<TypeSignature Language="C#" Value="public interface IDispatchOperationSelector" />
<TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IDispatchOperationSelector" />
<TypeSignature Language="DocId" Value="T:System.ServiceModel.Dispatcher.IDispatchOperationSelector" />
<TypeSignature Language="VB.NET" Value="Public Interface IDispatchOperationSelector" />
<TypeSignature Language="F#" Value="type IDispatchOperationSelector = interface" />
<TypeSignature Language="C++ CLI" Value="public interface class IDispatchOperationSelector" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Interfaces />
<Docs>
<summary>Defines the contract that associates incoming messages with a local operation to customize service execution behavior.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Implement and insert a custom operation selector to customize the selection of the operation to which an incoming message is dispatched in a service application. Assign the <xref:System.ServiceModel.Dispatcher.IDispatchOperationSelector> object to the <xref:System.ServiceModel.Dispatcher.DispatchRuntime.OperationSelector%2A> property to insert the custom selector.
## Examples
```csharp
public class QueryStringDispatcherBehavior : IDispatchOperationSelector
{
//Define the mapping from the Actions of the message to the operations.
NameValueCollection actionMap; { … }
//Implement the SelectOperation method.
public string SelectOperation( ref Message message )
{
Uri uri = new Uri(message.Headers.Action);
string query = uri.Query;
string methodName = actionMap[message.Headers.Action.ToString()];
return methodName;
}
}
```
]]></format>
</remarks>
</Docs>
<Members>
<Member MemberName="SelectOperation">
<MemberSignature Language="C#" Value="public string SelectOperation (ref System.ServiceModel.Channels.Message message);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance string SelectOperation(class System.ServiceModel.Channels.Message& message) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ServiceModel.Dispatcher.IDispatchOperationSelector.SelectOperation(System.ServiceModel.Channels.Message@)" />
<MemberSignature Language="VB.NET" Value="Public Function SelectOperation (ByRef message As Message) As String" />
<MemberSignature Language="F#" Value="abstract member SelectOperation : Message -> string" Usage="iDispatchOperationSelector.SelectOperation message" />
<MemberSignature Language="C++ CLI" Value="public:
 System::String ^ SelectOperation(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.String</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="message" Type="System.ServiceModel.Channels.Message" RefType="ref" />
</Parameters>
<Docs>
<param name="message">The incoming <see cref="T:System.ServiceModel.Channels.Message" /> to be associated with an operation.</param>
<summary>Associates a local operation with the incoming method.</summary>
<returns>The name of the operation to be associated with the <paramref name="message" />.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
</Members>
</Type>