-
Notifications
You must be signed in to change notification settings - Fork 1.5k
/
IChannelFactory.xml
109 lines (103 loc) · 6.92 KB
/
IChannelFactory.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
<Type Name="IChannelFactory" FullName="System.ServiceModel.Channels.IChannelFactory">
<TypeSignature Language="C#" Value="public interface IChannelFactory : System.ServiceModel.ICommunicationObject" />
<TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IChannelFactory implements class System.ServiceModel.ICommunicationObject" FrameworkAlternate="dotnet-uwp-10.0;netcore-1.0;netcore-1.1;netframework-3.0;netframework-3.5;netframework-4.0;netframework-4.5;netframework-4.5.1;netframework-4.5.2;netframework-4.6;netframework-4.6.1;netframework-4.6.2;netframework-4.7;netframework-4.7.1;netframework-4.7.2;netframework-4.8;netframework-4.8.1;netstandard-2.0" />
<TypeSignature Language="DocId" Value="T:System.ServiceModel.Channels.IChannelFactory" />
<TypeSignature Language="VB.NET" Value="Public Interface IChannelFactory
Implements ICommunicationObject" />
<TypeSignature Language="F#" Value="type IChannelFactory = interface
 interface ICommunicationObject" />
<TypeSignature Language="C++ CLI" Value="public interface class IChannelFactory : System::ServiceModel::ICommunicationObject" />
<TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract beforefieldinit IChannelFactory implements class System.ServiceModel.ICommunicationObject" FrameworkAlternate="net-8.0" />
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.ServiceModel.Primitives</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.1.1.0</AssemblyVersion>
<AssemblyVersion>4.6.0.0</AssemblyVersion>
<AssemblyVersion>4.7.0.0</AssemblyVersion>
<AssemblyVersion>4.9.0.0</AssemblyVersion>
<AssemblyVersion>4.10.0.0</AssemblyVersion>
<AssemblyVersion>4.10.2.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>6.2.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Private.ServiceModel</AssemblyName>
<AssemblyVersion>4.10.3.0</AssemblyVersion>
</AssemblyInfo>
<TypeForwardingChain>
<TypeForwarding From="System.ServiceModel" FromVersion="4.0.0.0" To="System.ServiceModel.Primitives" ToVersion="0.0.0.0" FrameworkAlternate="dotnet-uwp-10.0" />
</TypeForwardingChain>
<Interfaces>
<Interface>
<InterfaceName>System.ServiceModel.ICommunicationObject</InterfaceName>
</Interface>
</Interfaces>
<Docs>
<summary>Defines the interface that must be implemented by a channel factory to produce channels.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.ServiceModel.Channels.IChannelFactory> interface represents the base interface for channel factories.
Channel factories and their associated channels are generally used by the clients of a service that initiate communication. Listener factories that implement the <xref:System.ServiceModel.Channels.IChannelListener> interface and their associated listeners, by contrast, provide the mechanisms used to accept the channels through which communications with a service is initiated.
]]></format>
</remarks>
</Docs>
<Members>
<Member MemberName="GetProperty<T>">
<MemberSignature Language="C#" Value="public T GetProperty<T> () where T : class;" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance !!T GetProperty<class T>() cil managed" />
<MemberSignature Language="DocId" Value="M:System.ServiceModel.Channels.IChannelFactory.GetProperty``1" />
<MemberSignature Language="VB.NET" Value="Public Function GetProperty(Of T As Class) () As T" />
<MemberSignature Language="F#" Value="abstract member GetProperty : unit -> 'T (requires 'T : null)" Usage="iChannelFactory.GetProperty " />
<MemberSignature Language="C++ CLI" Value="public:
generic <typename T>
 where T : class T GetProperty();" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.ServiceModel.Primitives</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.1.1.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Private.ServiceModel</AssemblyName>
<AssemblyVersion>4.10.3.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>T</ReturnType>
</ReturnValue>
<TypeParameters>
<TypeParameter Name="T">
<Constraints>
<ParameterAttribute>ReferenceTypeConstraint</ParameterAttribute>
</Constraints>
</TypeParameter>
</TypeParameters>
<Parameters />
<Docs>
<typeparam name="T">The typed object for which the method is querying.</typeparam>
<summary>Returns a typed object requested, if present, from the appropriate layer in the channel stack.</summary>
<returns>The typed object <paramref name="T" /> requested, if it is present, or <see langword="null" /> if it is not.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Use this to request a typed object such as an interface for setting properties or getting status from the appropriate layer in the channel stack. If a layer supports returning the requested object, it returns it. If not, it delegates the call down to the next layer in the stack. If it gets to the bottom of the stack and no channel layer supported the requested object, then the method returns `null`.
You must implement <xref:System.ServiceModel.Channels.IChannelFactory.GetProperty%2A> whenever you implement a channel factory. <xref:System.ServiceModel.Channels.IChannelFactory.GetProperty%2A> is an excellent way to communicate information along the channel factory stack without having to know what channel factories are below you, or what channel factories above you are interested in performing queries. Define interfaces for people to query on for any interesting information you have. Whenever you do not recognize the type argument for <xref:System.ServiceModel.Channels.IChannelFactory.GetProperty%2A>, delegate down to the next channel factory in the stack or return `null` if you are creating a new transport channel at the bottom of the stack.
]]></format>
</remarks>
</Docs>
</Member>
</Members>
</Type>