-
Notifications
You must be signed in to change notification settings - Fork 1.6k
/
CustomBinding.xml
515 lines (466 loc) · 31.3 KB
/
CustomBinding.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
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
<Type Name="CustomBinding" FullName="System.ServiceModel.Channels.CustomBinding">
<TypeSignature Language="C#" Value="public class CustomBinding : System.ServiceModel.Channels.Binding" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit CustomBinding extends System.ServiceModel.Channels.Binding" />
<TypeSignature Language="DocId" Value="T:System.ServiceModel.Channels.CustomBinding" />
<TypeSignature Language="VB.NET" Value="Public Class CustomBinding
Inherits Binding" />
<TypeSignature Language="F#" Value="type CustomBinding = class
 inherit Binding" />
<TypeSignature Language="C++ CLI" Value="public ref class CustomBinding : System::ServiceModel::Channels::Binding" />
<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>
<Base>
<BaseTypeName>System.ServiceModel.Channels.Binding</BaseTypeName>
</Base>
<Interfaces />
<Attributes>
<Attribute FrameworkAlternate="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">
<AttributeName Language="C#">[System.Windows.Markup.ContentProperty("Elements")]</AttributeName>
<AttributeName Language="F#">[<System.Windows.Markup.ContentProperty("Elements")>]</AttributeName>
</Attribute>
</Attributes>
<Docs>
<summary>Defines a binding from a list of binding elements.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
Use a custom binding when one of the system-provided bindings does not meet the requirements of your service. A custom binding could be used, for example, to enable the use of a new transport or a new encoder at a service endpoint.
A custom binding is constructed using one of the <xref:System.ServiceModel.Channels.CustomBinding.%23ctor%2A> from a collection of binding elements that are "stacked" in a specific order:
- At the top is an optional <xref:System.ServiceModel.Channels.TransactionFlowBindingElement> that allows flowing transactions.
- Next is an optional <xref:System.ServiceModel.Channels.ReliableSessionBindingElement> that provides a session and ordering mechanism as defined in the WS-ReliableMessaging specification. This notion of a session can cross SOAP and transport intermediaries.
- Next is an optional security binding element that provides security features like authorization, authentication, protection, and confidentiality. The following security binding elements are provided by Windows Communication Foundation (WCF):
- <xref:System.ServiceModel.Channels.SecurityBindingElement>
- <xref:System.ServiceModel.Channels.AsymmetricSecurityBindingElement>
- <xref:System.ServiceModel.Channels.SymmetricSecurityBindingElement>
- <xref:System.ServiceModel.Channels.TransportSecurityBindingElement>
- Next are the optional message-patterns specified by binding elements:
- <xref:System.ServiceModel.Channels.CompositeDuplexBindingElement>
- Next are the optional transport upgrades/helpers binding elements:
- <xref:System.ServiceModel.Channels.PnrpPeerResolverBindingElement>
- <xref:System.ServiceModel.Channels.SslStreamSecurityBindingElement>
- <xref:System.ServiceModel.Channels.WindowsStreamSecurityBindingElement>
- Next is a required message encoding binding element. You can use your own transport or use one of the following message encoding bindings:
- <xref:System.ServiceModel.Channels.TextMessageEncodingBindingElement>
- <xref:System.ServiceModel.Channels.BinaryMessageEncodingBindingElement>
- <xref:System.ServiceModel.Channels.MtomMessageEncodingBindingElement>
- At the bottom is a required transport element. You can use your own transport or use one of transport binding elements provided by Windows Communication Foundation (WCF):
- <xref:System.ServiceModel.Channels.TcpTransportBindingElement>
- <xref:System.ServiceModel.Channels.NamedPipeTransportBindingElement>
- <xref:System.ServiceModel.Channels.HttpTransportBindingElement>
- <xref:System.ServiceModel.Channels.HttpsTransportBindingElement>
- <xref:System.ServiceModel.Channels.MsmqTransportBindingElement>
- <xref:System.ServiceModel.MsmqIntegration.MsmqIntegrationBindingElement>
- <xref:System.ServiceModel.Channels.PeerTransportBindingElement>
The following table summarizes the options for each layer.
|Layer|Options|Required|
|-----------|-------------|--------------|
|Transaction Flow|<xref:System.ServiceModel.Channels.TransactionFlowBindingElement>|No|
|Reliability|<xref:System.ServiceModel.Channels.ReliableSessionBindingElement>|No|
|Security|Symmetric, Asymmetric, Transport-Level|No|
|Shape Change|<xref:System.ServiceModel.Channels.CompositeDuplexBindingElement>|No|
|Transport Upgrades|SSL stream, Windows stream, Peer Resolver|No|
|Encoding|Text, Binary, MTOM, Custom|Yes|
|Transport|TCP, Named Pipes, HTTP, HTTPS, flavors of MSMQ, Custom|Yes|
In addition, you can define your own binding elements and insert them between any of the preceding defined layers.
For a discussion on how to use a custom binding to modify a system-provided binding, see [How to: Customize a System-Provided Binding](/dotnet/framework/wcf/extending/how-to-customize-a-system-provided-binding).
> [!NOTE]
> When calling a WCF service built with .NET Framework 4.0 or later from a WCF client application built with .NET Framework 3.5 or earlier, the configuration file generated by svcutil.exe or adding a service reference from Visual Studio will contain the validity attribute in the binding configuration. This attribute is not recognized by the .NET Framework 3.5 runtime and the application will thrown an <xref:System.Configuration.ConfigurationErrorsException> with the message "Unrecognized attribute validity". To workaround this problem, remove the validity attribute from the binding configuration.
## Examples
The following example shows how to create a <xref:System.ServiceModel.Channels.CustomBinding> object using a <xref:System.ServiceModel.Channels.ReliableSessionBindingElement> and an <xref:System.ServiceModel.Channels.HttpTransportBindingElement>
:::code language="csharp" source="~/snippets/csharp/VS_Snippets_CFX/s_imperative/cs/service.cs" id="Snippet1":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_CFX/s_imperative/vb/service.vb" id="Snippet1":::
]]></format>
</remarks>
</Docs>
<Members>
<MemberGroup MemberName=".ctor">
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Docs>
<summary>Initializes a new instance of the <see cref="T:System.ServiceModel.Channels.CustomBinding" /> class.</summary>
</Docs>
</MemberGroup>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public CustomBinding ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
<MemberSignature Language="DocId" Value="M:System.ServiceModel.Channels.CustomBinding.#ctor" />
<MemberSignature Language="VB.NET" Value="Public Sub New ()" />
<MemberSignature Language="C++ CLI" Value="public:
 CustomBinding();" />
<MemberType>Constructor</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>
<Parameters />
<Docs>
<summary>Initializes a new instance of the <see cref="T:System.ServiceModel.Channels.CustomBinding" /> class.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Examples
The following example shows how to use the parameterless constructor:
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public CustomBinding (System.Collections.Generic.IEnumerable<System.ServiceModel.Channels.BindingElement> bindingElementsInTopDownChannelStackOrder);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.Collections.Generic.IEnumerable`1<class System.ServiceModel.Channels.BindingElement> bindingElementsInTopDownChannelStackOrder) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ServiceModel.Channels.CustomBinding.#ctor(System.Collections.Generic.IEnumerable{System.ServiceModel.Channels.BindingElement})" />
<MemberSignature Language="VB.NET" Value="Public Sub New (bindingElementsInTopDownChannelStackOrder As IEnumerable(Of BindingElement))" />
<MemberSignature Language="F#" Value="new System.ServiceModel.Channels.CustomBinding : seq<System.ServiceModel.Channels.BindingElement> -> System.ServiceModel.Channels.CustomBinding" Usage="new System.ServiceModel.Channels.CustomBinding bindingElementsInTopDownChannelStackOrder" />
<MemberSignature Language="C++ CLI" Value="public:
 CustomBinding(System::Collections::Generic::IEnumerable<System::ServiceModel::Channels::BindingElement ^> ^ bindingElementsInTopDownChannelStackOrder);" />
<MemberType>Constructor</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>
<Parameters>
<Parameter Name="bindingElementsInTopDownChannelStackOrder" Type="System.Collections.Generic.IEnumerable<System.ServiceModel.Channels.BindingElement>" />
</Parameters>
<Docs>
<param name="bindingElementsInTopDownChannelStackOrder">An <see cref="T:System.Collections.Generic.IEnumerable`1" /> of type <see cref="T:System.ServiceModel.Channels.BindingElement" /> that contains the binding elements of the channel stack in top-down order.</param>
<summary>Initializes a new instance of the <see cref="T:System.ServiceModel.Channels.CustomBinding" /> class with the binding elements from a complete channel stack.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Examples
:::code language="csharp" source="~/snippets/csharp/VS_Snippets_CFX/s_imperative/cs/servicesnippets.cs" id="Snippet4":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_CFX/s_imperative/vb/servicesnippets.vb" id="Snippet4":::
]]></format>
</remarks>
<exception cref="T:System.ArgumentNullException">
<paramref name="bindingElementsInTopDownChannelStackOrder" /> is <see langword="null" />.</exception>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public CustomBinding (System.ServiceModel.Channels.Binding binding);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.ServiceModel.Channels.Binding binding) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ServiceModel.Channels.CustomBinding.#ctor(System.ServiceModel.Channels.Binding)" />
<MemberSignature Language="VB.NET" Value="Public Sub New (binding As Binding)" />
<MemberSignature Language="F#" Value="new System.ServiceModel.Channels.CustomBinding : System.ServiceModel.Channels.Binding -> System.ServiceModel.Channels.CustomBinding" Usage="new System.ServiceModel.Channels.CustomBinding binding" />
<MemberSignature Language="C++ CLI" Value="public:
 CustomBinding(System::ServiceModel::Channels::Binding ^ binding);" />
<MemberType>Constructor</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>
<Parameters>
<Parameter Name="binding" Type="System.ServiceModel.Channels.Binding" />
</Parameters>
<Docs>
<param name="binding">The <see cref="T:System.ServiceModel.Channels.Binding" /> that is used to initialize the custom binding.</param>
<summary>Initializes a new instance of the <see cref="T:System.ServiceModel.Channels.CustomBinding" /> class from the values of a specified binding.</summary>
<remarks>To be added.</remarks>
<exception cref="T:System.ArgumentNullException">
<paramref name="binding" /> is <see langword="null" />.</exception>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public CustomBinding (params System.ServiceModel.Channels.BindingElement[] bindingElementsInTopDownChannelStackOrder);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.ServiceModel.Channels.BindingElement[] bindingElementsInTopDownChannelStackOrder) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ServiceModel.Channels.CustomBinding.#ctor(System.ServiceModel.Channels.BindingElement[])" />
<MemberSignature Language="VB.NET" Value="Public Sub New (ParamArray bindingElementsInTopDownChannelStackOrder As BindingElement())" />
<MemberSignature Language="F#" Value="new System.ServiceModel.Channels.CustomBinding : System.ServiceModel.Channels.BindingElement[] -> System.ServiceModel.Channels.CustomBinding" Usage="new System.ServiceModel.Channels.CustomBinding bindingElementsInTopDownChannelStackOrder" />
<MemberSignature Language="C++ CLI" Value="public:
 CustomBinding(... cli::array <System::ServiceModel::Channels::BindingElement ^> ^ bindingElementsInTopDownChannelStackOrder);" />
<MemberType>Constructor</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>
<Parameters>
<Parameter Name="bindingElementsInTopDownChannelStackOrder" Type="System.ServiceModel.Channels.BindingElement[]">
<Attributes>
<Attribute>
<AttributeName Language="C#">[System.ParamArray]</AttributeName>
<AttributeName Language="F#">[<System.ParamArray>]</AttributeName>
</Attribute>
</Attributes>
</Parameter>
</Parameters>
<Docs>
<param name="bindingElementsInTopDownChannelStackOrder">The <see cref="T:System.Array" /> of type <see cref="T:System.ServiceModel.Channels.BindingElement" /> used to initialize the custom binding.</param>
<summary>Initializes a new instance of the <see cref="T:System.ServiceModel.Channels.CustomBinding" /> class from an array of binding elements.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Examples
:::code language="csharp" source="~/snippets/csharp/VS_Snippets_CFX/s_imperative/cs/servicesnippets.cs" id="Snippet3":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_CFX/s_imperative/vb/servicesnippets.vb" id="Snippet3":::
]]></format>
</remarks>
<exception cref="T:System.ArgumentNullException">
<paramref name="bindingElementsInTopDownChannelStackOrder" /> is <see langword="null" />.</exception>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public CustomBinding (string configurationName);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string configurationName) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ServiceModel.Channels.CustomBinding.#ctor(System.String)" />
<MemberSignature Language="VB.NET" Value="Public Sub New (configurationName As String)" />
<MemberSignature Language="F#" Value="new System.ServiceModel.Channels.CustomBinding : string -> System.ServiceModel.Channels.CustomBinding" Usage="new System.ServiceModel.Channels.CustomBinding configurationName" />
<MemberSignature Language="C++ CLI" Value="public:
 CustomBinding(System::String ^ configurationName);" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>System.ServiceModel</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.ServiceModel.Primitives</AssemblyName>
</AssemblyInfo>
<Parameters>
<Parameter Name="configurationName" Type="System.String" Index="0" FrameworkAlternate="netcore-1.0;netcore-1.1;netcore-2.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-3.0;netframework-3.5;netframework-4.0;netframework-4.8;netframework-4.8.1" />
</Parameters>
<Docs>
<param name="configurationName">A value of the <see langword="configurationName" /> attribute that identifies the <see langword="binding" /> element whose settings are used to initialize the binding.</param>
<summary>Initializes a new instance of the <see cref="T:System.ServiceModel.Channels.CustomBinding" /> class.</summary>
<remarks>To be added.</remarks>
<exception cref="T:System.Configuration.ConfigurationErrorsException">The binding element identified by the <paramref name="configurationName" /> is <see langword="null" />.</exception>
</Docs>
</Member>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="public CustomBinding (string name, string ns, params System.ServiceModel.Channels.BindingElement[] bindingElementsInTopDownChannelStackOrder);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string name, string ns, class System.ServiceModel.Channels.BindingElement[] bindingElementsInTopDownChannelStackOrder) cil managed" />
<MemberSignature Language="DocId" Value="M:System.ServiceModel.Channels.CustomBinding.#ctor(System.String,System.String,System.ServiceModel.Channels.BindingElement[])" />
<MemberSignature Language="VB.NET" Value="Public Sub New (name As String, ns As String, ParamArray bindingElementsInTopDownChannelStackOrder As BindingElement())" />
<MemberSignature Language="F#" Value="new System.ServiceModel.Channels.CustomBinding : string * string * System.ServiceModel.Channels.BindingElement[] -> System.ServiceModel.Channels.CustomBinding" Usage="new System.ServiceModel.Channels.CustomBinding (name, ns, bindingElementsInTopDownChannelStackOrder)" />
<MemberSignature Language="C++ CLI" Value="public:
 CustomBinding(System::String ^ name, System::String ^ ns, ... cli::array <System::ServiceModel::Channels::BindingElement ^> ^ bindingElementsInTopDownChannelStackOrder);" />
<MemberType>Constructor</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>
<Parameters>
<Parameter Name="name" Type="System.String" />
<Parameter Name="ns" Type="System.String" />
<Parameter Name="bindingElementsInTopDownChannelStackOrder" Type="System.ServiceModel.Channels.BindingElement[]">
<Attributes>
<Attribute>
<AttributeName Language="C#">[System.ParamArray]</AttributeName>
<AttributeName Language="F#">[<System.ParamArray>]</AttributeName>
</Attribute>
</Attributes>
</Parameter>
</Parameters>
<Docs>
<param name="name">The name of the binding.</param>
<param name="ns">The namespace of the binding.</param>
<param name="bindingElementsInTopDownChannelStackOrder">The <see cref="T:System.Array" /> of type <see cref="T:System.ServiceModel.Channels.BindingElement" /> used to initialize the custom binding.</param>
<summary>Initializes a new instance of the <see cref="T:System.ServiceModel.Channels.CustomBinding" /> class from an array of binding elements with a specified name and namespace.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Examples
:::code language="csharp" source="~/snippets/csharp/VS_Snippets_CFX/s_imperative/cs/servicesnippets.cs" id="Snippet5":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_CFX/s_imperative/vb/servicesnippets.vb" id="Snippet5":::
]]></format>
</remarks>
<exception cref="T:System.ArgumentNullException">
<paramref name="bindingElementsInTopDownChannelStackOrder" /> is <see langword="null" />.</exception>
</Docs>
</Member>
<Member MemberName="CreateBindingElements">
<MemberSignature Language="C#" Value="public override System.ServiceModel.Channels.BindingElementCollection CreateBindingElements ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.ServiceModel.Channels.BindingElementCollection CreateBindingElements() cil managed" />
<MemberSignature Language="DocId" Value="M:System.ServiceModel.Channels.CustomBinding.CreateBindingElements" />
<MemberSignature Language="VB.NET" Value="Public Overrides Function CreateBindingElements () As BindingElementCollection" />
<MemberSignature Language="F#" Value="override this.CreateBindingElements : unit -> System.ServiceModel.Channels.BindingElementCollection" Usage="customBinding.CreateBindingElements " />
<MemberSignature Language="C++ CLI" Value="public:
 override System::ServiceModel::Channels::BindingElementCollection ^ CreateBindingElements();" />
<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>System.ServiceModel.Channels.BindingElementCollection</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Returns a generic collection of the binding elements from the custom binding.</summary>
<returns>An <see cref="T:System.Collections.Generic.ICollection`1" /> object of type <see cref="T:System.ServiceModel.Channels.BindingElement" /> that contains the binding elements from the custom binding.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Elements">
<MemberSignature Language="C#" Value="public System.ServiceModel.Channels.BindingElementCollection Elements { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.ServiceModel.Channels.BindingElementCollection Elements" />
<MemberSignature Language="DocId" Value="P:System.ServiceModel.Channels.CustomBinding.Elements" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property Elements As BindingElementCollection" />
<MemberSignature Language="F#" Value="member this.Elements : System.ServiceModel.Channels.BindingElementCollection" Usage="System.ServiceModel.Channels.CustomBinding.Elements" />
<MemberSignature Language="C++ CLI" Value="public:
 property System::ServiceModel::Channels::BindingElementCollection ^ Elements { System::ServiceModel::Channels::BindingElementCollection ^ get(); };" />
<MemberType>Property</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>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName Language="C#">[get: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]</AttributeName>
<AttributeName Language="F#">[<get: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.ServiceModel.Channels.BindingElementCollection</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the binding elements from the custom binding.</summary>
<value>The <see cref="T:System.ServiceModel.Channels.BindingElementCollection" /> that contains the binding elements from the custom binding.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Scheme">
<MemberSignature Language="C#" Value="public override string Scheme { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance string Scheme" />
<MemberSignature Language="DocId" Value="P:System.ServiceModel.Channels.CustomBinding.Scheme" />
<MemberSignature Language="VB.NET" Value="Public Overrides ReadOnly Property Scheme As String" />
<MemberSignature Language="F#" Value="member this.Scheme : string" Usage="System.ServiceModel.Channels.CustomBinding.Scheme" />
<MemberSignature Language="C++ CLI" Value="public:
 virtual property System::String ^ Scheme { System::String ^ get(); };" />
<MemberType>Property</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>System.String</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the URI scheme for transport used by the custom binding.</summary>
<value>The URI scheme for transport used by the custom binding; or an empty string if there is no transport (<see cref="T:System.ServiceModel.Channels.TransportBindingElement" /> is <see langword="null" />).</value>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method is provided to enable binding validation against base addresses.
]]></format>
</remarks>
</Docs>
</Member>
</Members>
</Type>