Class ClientPipeline
Represents an extensible pipeline used by clients that call cloud services to send and receive HTTP request and responses. Creators of ClientPipeline can modify how it process a PipelineMessage by adding PipelinePolicy instances at various points in the default pipeline.
Inheritance
Namespace: System.Dynamic.ExpandoObject
Assembly: System.ClientModel.dll
Syntax
[System.Runtime.CompilerServices.Nullable(0)]
[System.Runtime.CompilerServices.NullableContext(1)]
public sealed class ClientPipeline
Methods
Create(ClientPipelineOptions)
Create an instance of a ClientPipeline from the provided ClientPipelineOptions.
Declaration
public static System.ClientModel.Primitives.ClientPipeline Create (System.ClientModel.Primitives.ClientPipelineOptions options = null);
Parameters
ClientPipelineOptions
options
If provided, the ClientPipelineOptions to use to construct the ClientPipeline. |
Returns
ClientPipeline
The created ClientPipeline instance. |
Create(ClientPipelineOptions, ReadOnlySpan<PipelinePolicy>, ReadOnlySpan<PipelinePolicy>, ReadOnlySpan<PipelinePolicy>)
Create an instance of a ClientPipeline from the provided ClientPipelineOptions and PipelinePolicy collections.
Declaration
public static System.ClientModel.Primitives.ClientPipeline Create (System.ClientModel.Primitives.ClientPipelineOptions options, ReadOnlySpan<System.ClientModel.Primitives.PipelinePolicy> perCallPolicies, ReadOnlySpan<System.ClientModel.Primitives.PipelinePolicy> perTryPolicies, ReadOnlySpan<System.ClientModel.Primitives.PipelinePolicy> beforeTransportPolicies);
Parameters
ClientPipelineOptions
options
The ClientPipelineOptions to use to construct the ClientPipeline. |
System.ReadOnlySpan<PipelinePolicy>
perCallPolicies
A collection of PipelinePolicy instances to add to the default pipeline before the pipeline's retry policy. |
System.ReadOnlySpan<PipelinePolicy>
perTryPolicies
A collection of PipelinePolicy instances to add to the default pipeline after the pipeline's retry policy. |
System.ReadOnlySpan<PipelinePolicy>
beforeTransportPolicies
A collection of PipelinePolicy instances to add to the default pipeline before the pipeline's transport. |
Returns
ClientPipeline
The created ClientPipeline instance. |
Remarks
Policies provided in options
are intended
to come from the end-user of a client who has passed the
ClientPipelineOptions instance to the client's
constructor. The client constructor implementation is intended to pass
client-specific policies using the perCallPolicies
,
perTryPolicies
, and
beforeTransportPolicies
parameters and should not
modify the ClientPipelineOptions provided by the client
user.
CreateMessage()
Creates a PipelineMessage that can be sent using this pipeline instance.
Declaration
public System.ClientModel.Primitives.PipelineMessage CreateMessage ();
Returns
PipelineMessage
The created PipelineMessage. |
Send(PipelineMessage)
Send the provided PipelineMessage.
Declaration
public void Send (System.ClientModel.Primitives.PipelineMessage message);
Parameters
PipelineMessage
message
The PipelineMessage to send. |
Remarks
All necessary values on Request should be set prior to calling Send(PipelineMessage). After the method returns, Response will be populated with the details of the service response.
Exceptions
ClientResultException
Thrown if an error other than the service responding with an error response occurred while sending the HTTP request. |
SendAsync(PipelineMessage)
Send the provided PipelineMessage.
Declaration
[System.Diagnostics.DebuggerStepThrough]
public System.Threading.Tasks.ValueTask SendAsync (System.ClientModel.Primitives.PipelineMessage message);
Parameters
PipelineMessage
message
The PipelineMessage to send. |
Returns
System.Threading.Tasks.ValueTask
|
Remarks
All necessary values on Request should be set prior to calling Send(PipelineMessage). After the method returns, Response will be populated with the details of the service response.
Exceptions
ClientResultException
Thrown if an error other than the service responding with an error response occurred while sending the HTTP request. |