Grpc.Net.Client Represents a balancer address. Note: Experimental API that can change or be removed without any prior notice. Initializes a new instance of the class with the specified . The end point. Initializes a new instance of the class with the specified host and port. The host. The port. Gets the address . Gets the address attributes. Returns a string that reprsents the address. Collection of load balancing metadata attributes. Note: Experimental API that can change or be removed without any prior notice. Gets a read-only collection of metadata attributes. Initializes a new instance of the class. Gets the value associated with the specified key. The value type. The key of the to get. When this method returns, contains the value associated with the specified key, if the key is found and the value type matches the specified type. Otherwise, contains the default value for the type of the value parameter. true if the contains an element with the specified key and value type; otherwise false. Sets the value associated with the specified key. The value type. The key of the value to set. The value. Removes the value associated with the specified key. The value type. The key of the value to set. true if the element is successfully removed; otherwise, false. This method also returns false if key was not found. Represents the key used to get and set values. Note: Experimental API that can change or be removed without any prior notice. The value type. Gets the key. Initializes a new instance of the struct with the specified key. The key. Represents the balancer state. Note: Experimental API that can change or be removed without any prior notice. Initializes a new instance of the class with the specified state. The connectivity state. The subchannel picker. Gets the connectivity state. Gets the subchannel picker. Represents the state for a channel. This is created from results returned by a . Note: Experimental API that can change or be removed without any prior notice. Gets a collection of addresses. Will be null if has a non-OK value. Gets an optional load balancing config. Gets the status. Successful results has an status. A resolver error creates results with non-OK status. The status has details about the resolver error. Gets a collection of metadata attributes. Context used to signal a call is complete. Note: Experimental API that can change or be removed without any prior notice. Gets or sets the a call was made with. Required. Gets or sets the thrown when making the call. A that matches the URI scheme dns and creates instances. Note: Experimental API that can change or be removed without any prior notice. Initializes a new instance of the class with a refresh interval. An interval for automatically refreshing the DNS hostname. An interface for specifying backoff duration. Note: Experimental API that can change or be removed without any prior notice. Returns the next backoff duration. A factory for creating instances. Note: Experimental API that can change or be removed without any prior notice. Creates a backoff policy. Provides essentials for implementations. Note: Experimental API that can change or be removed without any prior notice. Creates a , which is a logical connection to the specified addresses. The is responsible for closing unused subchannels, and closing all subchannels on shutdown. The options for the new . A new . Update the balancing state. This includes a new and . The state is used by currently queued and future calls. The balancer state. Request the configured to refresh. The load balancer is responsible for creating the real load balancer, and changing it if the resolver returns a service config with a new policy name. This load balancer has a reference to both a current and a pending load balancer. If there is an update that prompts the load balancer to change then: 1. New load balancer is created and set to pending. It will begin connecting. 2. Current load balancer will continue to serve new gRPC calls. 3. Once pending load balancer has a READY state then it is prompted to current. 4. Old current load balancer is disposed. This is designed so that there is a smooth transistion when the load balancer changes. Iterate through the load balancing configs and find the first config that has a factory. That means it is supported by the client. https://github.com/grpc/proposal/blob/master/A24-lb-policy-config.md An abstraction for subchannels to create a transport and connect to the server. This abstraction allows the connection to be customized. Used in unit tests. Might be made public in the future to support using load balancing with non-socket transports. Subchannel transport used when SocketsHttpHandler isn't configured. This transport will only be used when there is one address. It isn't able to correctly determine connectivity state. Transport that makes it possible to monitor connectivity state while using HttpClient. Features: 1. When a connection is requested the transport creates a Socket and connects to the server. The socket is used with the first stream created by SocketsHttpHandler.ConnectCallback. The transport keeps track of the socket or the streams in use to determine if the connection is ready. Connectivity API features require knowing whether there is a connection available. A limitation of the .NET support is only socket connectivity to the server is tracked. This transport is unable to check whether TLS and HTTP is succcessfully negotiated. 2. Transport supports multiple addresses. When connecting it will iterate through the addresses, attempting to connect to each one. Checks whether the socket is healthy. May read available data into the passed in buffer. Returns true if the socket should be closed. Poll the socket to check for health and available data. Shouldn't be used by itself as data needs to be consumed to accurately report the socket health. handles consuming data and getting the socket health. An interface for tracking subchannel calls. Note: Experimental API that can change or be removed without any prior notice. Called when a subchannel call is started after a load balance pick. Called when a subchannel call is completed. The complete context. A configurable component that receives resolved addresses from and provides a usable when asked. A new load balancer implements: creates new instances. receives results from the , subchannels' connectivity states, and requests to create a connection and shutdown. creates instances from resolve results using , and updates the channel state with a and . makes a load balancing decision. Note: Experimental API that can change or be removed without any prior notice. Updates the with state from the . State from the . Request the to establish connections now (if applicable) so that future calls can use a ready connection without waiting for a connection. Releases the unmanaged resources used by the and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Disposes the . The load balancer state is updated to . state Factory for creating new instances. A factory is used when the load balancer config name matches the factory name. Note: Experimental API that can change or be removed without any prior notice. Gets the load balancer factory name. A factory is used when the load balancer config name matches the factory name. Creates a new with the specified options. Options for creating a . A new . Options for creating a . Initializes a new instance of the class. The controller. The logger factory. The load balancer configuration. Gets the . Gets the logger factory. Gets the load balancer configuration. Context used to pick a . Note: Experimental API that can change or be removed without any prior notice. Gets or sets the . A that attempts to connect to addresses until a connection is successfully made. gRPC calls are all made to the first successful connection. Note: Experimental API that can change or be removed without any prior notice. Initializes a new instance of the class. The controller. The logger factory. A that matches the name pick_first and creates instances. Note: Experimental API that can change or be removed without any prior notice. A balancing decision made by a for a gRPC call. Note: Experimental API that can change or be removed without any prior notice. The pick result type. The provided by . The provided by or . The optional provided by . Create a that provides a to gRPC calls. A result created with a won't necessarily be used by a gRPC call. The subchannel's state may change at the same time the picker is making a decision. That means the decision may be made with outdated information. For example, a picker may return a subchannel with a state that is , but becomes when the subchannel is about to be used. In that situation the gRPC call waits for the load balancer to react to the new state and create a new picker. The picked subchannel. An optional interface to track the subchannel call. The pick result. Creates a to report a connectivity error to calls. If the call has a value of true then the call will wait. The error status. Must not be . The pick result. Creates a to fail a gRPC call immediately. A result with a type of causes calls to ignore and retry. The error status. Must not be . The pick result. Creates a to queue gRPC calls. The pick result. The type. Note: Experimental API that can change or be removed without any prior notice. with a . that was unable to resolve success or failure. This result will queue gRPC calls until a non-queue result is available. with a connectivity error. gRPC calls fail unless is set to true. If is set to true then gRPC calls will queue. with an immediate failure. All gRPC calls will fail, regardless of what is set to, and retry logic is bypassed. An abstract base type for implementations that use asynchronous polling logic to resolve the . adds a virtual method. The resolver runs one asynchronous resolve task at a time. Calling on the resolver when a resolve task is already running has no effect. Note: Experimental API that can change or be removed without any prior notice. Gets the listener. Initializes a new instance of the . The logger factory. Initializes a new instance of the . The logger factory. The backoff policy factory. Starts listening to resolver for results with the specified callback. Can only be called once. The passed to the callback has addresses when successful, otherwise a details the resolution error. The callback used to receive updates on the target. Executes after the resolver starts. Refresh resolution. Can only be called after . The resolver runs one asynchronous resolve task at a time. Calling on the resolver when a resolve task is already running has no effect. Resolve the target . Updated results are passed to the callback registered by . Can only be called after the resolver has started. A cancellation token. A task. Releases the unmanaged resources used by the and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. A configurable component that resolves a target and returns them to the caller. The targets URI's scheme is used to select the implementation, and uses the URI parts after the scheme for actual resolution. The addresses of a target may change over time, thus the caller registers a callback to receive continuous updates as . A doesn't need to automatically re-resolve on failure. Instead, the callback is responsible for eventually invoking . Note: Experimental API that can change or be removed without any prior notice. Starts listening to resolver for results with the specified callback. Can only be called once. The passed to the callback has addresses when successful, otherwise a details the resolution error. The callback used to receive updates on the target. Refresh resolution. Can only be called after . The default implementation is no-op. This is only a hint. Implementation takes it as a signal but may not start resolution. Releases the unmanaged resources used by the and optionally releases the managed resources. true to release both managed and unmanaged resources; false to release only unmanaged resources. Disposes the . Stops resolution. Represents the results from a . Note: Experimental API that can change or be removed without any prior notice. Gets the status. A status other than indicates failure. Gets a collection of resolved addresses. Gets an optional service config. Gets an optional service config status. Gets metadata attributes. Create for failure. The error status. Must not be . A resolver result. Create for the specified addresses. The resolved addresses. A resolver result. Create for the specified addresses and service config. The resolved addresses. An optional service config. A null value indicates that the resolver either didn't retreive a service config or an error occurred. The error must be specified using . A service config status. The status indicates an error retreiveing or parsing the config. The status must not be if no service config is specified. A resolver result. Factory for creating new instances. A factory is used when the target address scheme matches the factory name. Note: Experimental API that can change or be removed without any prior notice. Gets the resolver factory name. A factory is used when the target scheme matches the factory name. Creates a new with the specified options. Options for creating a . A new . Options for creating a resolver. Note: Experimental API that can change or be removed without any prior notice. Initializes a new instance of the class. Gets the address. Gets the default port. This port is used when the resolver address doesn't specify a port. Gets a flag indicating whether the resolver should disable resolving a service config. Gets the logger factory. Gets the channel options. A that attempts to connect to all addresses. gRPC calls are distributed across all successful connections using round-robin logic. Note: Experimental API that can change or be removed without any prior notice. Initializes a new instance of the class. The controller. The logger factory. A that matches the name round_robin and creates instances. Note: Experimental API that can change or be removed without any prior notice. A that returns a static collection of addresses. Note: Experimental API that can change or be removed without any prior notice. Initializes a new instance of the class with the specified addresses. The resolved addresses. A that matches the URI scheme static and creates instances. Note: Experimental API that can change or be removed without any prior notice. Initializes a new instance of the class with a callback that returns a collection of addresses for a target . A callback that returns a collection of addresses for a target . Represents a logical connection. A subchannel is created with one or more addresses to equivalent servers. A subchannel maintains at most one physical connection (aka transport) for sending new gRPC calls. If there isn't an active transport, and a call is assigned to the subchannel, it will create a new transport. A transport won't be created otherwise unless is called to create a transport if there isn't any. Note: Experimental API that can change or be removed without any prior notice. Connectivity state is internal rather than public because it can be updated by multiple threads while a load balancer is building the picker. Load balancers that care about multiple subchannels should track state by subscribing to Subchannel.OnStateChanged and storing results. Gets the current connected address. Gets the metadata attributes. Registers a callback that will be invoked this subchannel's state changes. The callback that will be invoked when the subchannel's state changes. A subscription that can be disposed to unsubscribe from state changes. Replaces the existing addresses used with this . If the subchannel has an active connection and the new addresses contain the connected address then the connection is reused. Otherwise the subchannel will reconnect. Creates a connection (aka transport), if there isn't an active one. Returns the addresses that this subchannel is bound to. The addresses that this subchannel is bound to. Disposes the . The subchannel state is updated to . After dispose the subchannel should no longer be returned by the latest . Represents options used to create . Note: Experimental API that can change or be removed without any prior notice. Initializes a new instance of the class. A collection of addresses. Gets a collection of addresses. Base type for picking a subchannel. A is responsible for picking a ready that gRPC calls will use. Load balancers implement with their own balancing logic to determine which subchannel is returned for a call. Note: Experimental API that can change or be removed without any prior notice. Picks a ready for the specified context. The pick content. A ready . An abstract that manages creating instances from addresses. It is designed to make it easy to implement a custom picking policy by overriding and returning a custom . Note: Experimental API that can change or be removed without any prior notice. Gets the controller. Gets the connectivity state. Initializes a new instance of the class. The controller. The logger factory. Creates a for the specified instances. This method can be overriden to return new a implementation with custom load balancing logic. A collection of ready subchannels. A subchannel picker. Represents subchannel state. Note: Experimental API that can change or be removed without any prior notice. Initializes a new instance of the class. The connectivity state. The status. Gets the connectivity state. Gets the status. Represents a configuration object. Implementations provide strongly typed wrappers over collections of untyped values. Gets the underlying configuration values. The hedging policy for outgoing calls. Hedged calls may execute more than once on the server, so only idempotent methods should specify a hedging policy. Represents the HedgingPolicy message in . Initializes a new instance of the class. Gets or sets the maximum number of call attempts. This value includes the original attempt. The hedging policy will send up to this number of calls. This property is required and must be 2 or greater. This value is limited by . Gets or sets the hedging delay. The first call will be sent immediately, but the subsequent hedged call will be sent at intervals of the specified delay. Set this to 0 or null to immediately send all hedged calls. Gets a collection of status codes which indicate other hedged calls may still succeed. If a non-fatal status code is returned by the server, hedged calls will continue. Otherwise, outstanding requests will be canceled and the error returned to the client application layer. Specifying status codes is optional. Base type for load balancer policy configuration. pick_first policy name. round_robin policy name. Initializes a new instance of the class. Gets the load balancer policy name. Configuration for a method. The collection is used to determine which methods this configuration applies to. Represents the MethodConfig message in . Initializes a new instance of the class. Gets or sets the retry policy for outgoing calls. A retry policy can't be combined with . Gets or sets the hedging policy for outgoing calls. Hedged calls may execute more than once on the server, so only idempotent methods should specify a hedging policy. A hedging policy can't be combined with . Gets a collection of names which determine the calls the method config will apply to. A without names won't be used. Each name must be unique across an entire . If a name's property isn't set then the method config is the default for all methods for the specified service. If a name's property isn't set then must also be unset, and the method config is the default for all methods on all services. represents this global default name. When determining which method config to use for a given RPC, the most specific match wins. A method config with a configured that exactly matches a call's method and service will be used instead of a service or global default method config. The name of a method. Used to configure what calls a applies to using the collection. Represents the Name message in . If a name's property isn't set then the method config is the default for all methods for the specified service. If a name's property isn't set then must also be unset, and the method config is the default for all methods on all services. represents this global default name. When determining which method config to use for a given RPC, the most specific match wins. A method config with a configured that exactly matches a call's method and service will be used instead of a service or global default method config. A global default name. Initializes a new instance of the class. Gets or sets the service name. Gets or sets the method name. Configuration for pick_first load balancer policy. Initializes a new instance of the class. The retry policy for outgoing calls. Initializes a new instance of the class. Gets or sets the maximum number of call attempts. This value includes the original attempt. This property is required and must be greater than 1. This value is limited by . Gets or sets the initial backoff. A randomized delay between 0 and the current backoff value will determine when the next retry attempt is made. This property is required and must be greater than zero. The backoff will be multiplied by after each retry attempt and will increase exponentially when the multiplier is greater than 1. Gets or sets the maximum backoff. The maximum backoff places an upper limit on exponential backoff growth. This property is required and must be greater than zero. Gets or sets the backoff multiplier. The backoff will be multiplied by after each retry attempt and will increase exponentially when the multiplier is greater than 1. This property is required and must be greater than 0. Gets a collection of status codes which may be retried. At least one status code is required. The retry throttling policy for a server. For more information about configuring throttling, see . Represents the RetryThrottlingPolicy message in . Initializes a new instance of the class. Gets or sets the maximum number of tokens. The number of tokens starts at and the token count will always be between 0 and . This property is required and must be greater than zero. Gets or sets the amount of tokens to add on each successful call. Typically this will be some number between 0 and 1, e.g., 0.1. This property is required and must be greater than zero. Up to 3 decimal places are supported. Configuration for pick_first load balancer policy. Initializes a new instance of the class. A represents information about a service. Represents the ServiceConfig message in . Initializes a new instance of the class. Gets a collection of instances. The client will iterate through the configured policies in order and use the first policy that is supported. If none are supported by the client then a configuration error is thrown. Gets a collection of instances. This collection is used to specify configuration on a per-method basis. determines which calls a method config applies to. Gets or sets the retry throttling policy. If a is provided, gRPC will automatically throttle retry attempts and hedged RPCs when the client's ratio of failures to successes exceeds a threshold. For more information about configuring throttling, see . Represents a gRPC channel. Channels are an abstraction of long-lived connections to remote servers. Client objects can reuse the same channel. Creating a channel is an expensive operation compared to invoking a remote call so in general you should reuse a single channel for as many calls as possible. Create a new for the channel. A new . Creates a for the specified address. The address the channel will use. A new instance of . Creates a for the specified address and configuration options. The address the channel will use. The channel configuration options. A new instance of . Creates a for the specified address. The address the channel will use. A new instance of . Creates a for the specified address and configuration options. The address the channel will use. The channel configuration options. A new instance of . Allows explicitly requesting channel to connect without starting an RPC. Returned task completes once Ready was seen. There is no need to call this explicitly unless your use case requires that. Starting an RPC on a new channel will request connection implicitly. This API is only supported when the channel is configured with a HTTP transport. Note: Experimental API that can change or be removed without any prior notice. The cancellation token. Gets current connectivity state of this channel. After the channel has been shutdown, is returned. This API is only supported when the channel is configured with a HTTP transport. Note: Experimental API that can change or be removed without any prior notice. Wait for channel's state to change. The task completes when becomes different from . This API is only supported when the channel is configured with a HTTP transport. Note: Experimental API that can change or be removed without any prior notice. The last observed state. The task completes when becomes different from this value. The cancellation token. The task object representing the asynchronous operation. Releases the resources used by the class. Clients created with the channel can't be used after the channel is disposed. An options class for configuring a . Gets or sets the credentials for the channel. This setting is used to set for a channel. Connection transport layer security (TLS) is determined by the address used to create the channel. The channel credentials you use must match the address TLS setting. Use for an "http" address and for "https". The underlying used by the channel automatically loads root certificates from the operating system certificate store. Client certificates should be configured on HttpClient. See for details. Gets or sets the maximum message size in bytes that can be sent from the client. Attempting to send a message that exceeds the configured maximum message size results in an exception. A null value removes the maximum message size limit. Defaults to null. Gets or sets the maximum message size in bytes that can be received by the client. If the client receives a message that exceeds this limit, it throws an exception. A null value removes the maximum message size limit. Defaults to 4,194,304 (4 MB). Gets or sets the maximum retry attempts. This value limits any retry and hedging attempt values specified in the service config. Setting this value alone doesn't enable retries. Retries are enabled in the service config, which can be done using . A null value removes the maximum retry attempts limit. Defaults to 5. Note: Experimental API that can change or be removed without any prior notice. Gets or sets the maximum buffer size in bytes that can be used to store sent messages when retrying or hedging calls. If the buffer limit is exceeded, then no more retry attempts are made and all hedging calls but one will be canceled. This limit is applied across all calls made using the channel. Setting this value alone doesn't enable retries. Retries are enabled in the service config, which can be done using . A null value removes the maximum retry buffer size limit. Defaults to 16,777,216 (16 MB). Note: Experimental API that can change or be removed without any prior notice. Gets or sets the maximum buffer size in bytes that can be used to store sent messages when retrying or hedging calls. If the buffer limit is exceeded, then no more retry attempts are made and all hedging calls but one will be canceled. This limit is applied to one call. Setting this value alone doesn't enable retries. Retries are enabled in the service config, which can be done using . A null value removes the maximum retry buffer size limit per call. Defaults to 1,048,576 (1 MB). Note: Experimental API that can change or be removed without any prior notice. Gets or sets a collection of compression providers. Gets or sets the logger factory used by the channel. If no value is specified then the channel attempts to resolve an from the . Gets or sets the used by the channel to make HTTP calls. By default a specified here will not be disposed with the channel. To dispose the with the channel you must set to true. Only one HTTP caller can be specified for a channel. An error will be thrown if this is configured together with . Gets or sets the used by the channel to make HTTP calls. By default a specified here will not be disposed with the channel. To dispose the with the channel you must set to true. Only one HTTP caller can be specified for a channel. An error will be thrown if this is configured together with . Gets or sets a value indicating whether the underlying or should be disposed when the instance is disposed. The default value is false. This setting is used when a or value is specified. If they are not specified then the channel will create an internal HTTP caller that is always disposed when the channel is disposed. Gets or sets a value indicating whether clients will throw for a call when its is triggered or its is exceeded. The default value is false. Note: Experimental API that can change or be removed without any prior notice. Gets or sets a value indicating whether a gRPC call's are used by an insecure channel. The default value is false. Note: Experimental API that can change or be removed without any prior notice. The default value for this property is false, which causes an insecure channel to ignore a gRPC call's . Sending authentication headers over an insecure connection has security implications and shouldn't be done in production environments. If this property is set to true, call credentials are always used by a channel. Gets or sets the service config for a gRPC channel. A service config allows service owners to publish parameters to be automatically used by all clients of their service. A service config can also be specified by a client using this property. Note: Experimental API that can change or be removed without any prior notice. Gets or sets a value indicating whether resolving a service config from the is disabled. The default value is false. A hint is provided to the resolver that it shouldn't fetch a service config. If a service config is returned by then resolver then it is ignored. Note: Experimental API that can change or be removed without any prior notice. Gets or sets the the maximum time between subsequent connection attempts. The reconnect backoff starts at an initial backoff and then exponentially increases between attempts, up to the maximum reconnect backoff. Reconnect backoff adds a jitter to randomize the backoff. This is done to avoid spikes of connection attempts. A null value removes the maximum reconnect backoff limit. The default value is 120 seconds. Note: Experimental API that can change or be removed without any prior notice. Gets or sets the time between the first and second connection attempts. The reconnect backoff starts at an initial backoff and then exponentially increases between attempts, up to the maximum reconnect backoff. Reconnect backoff adds a jitter to randomize the backoff. This is done to avoid spikes of connection attempts. Defaults to 1 second. Note: Experimental API that can change or be removed without any prior notice. Gets or sets the the channel uses to resolve types. Note: Experimental API that can change or be removed without any prior notice. Initializes a new instance of the class. A value indicating whether there is an async write already in progress. Should only check this property when holding the write lock. Clean up can be called by: 1. The user. AsyncUnaryCall.Dispose et al will call this on Dispose 2. will call dispose if errors fail validation 3. will call dispose Used by response stream reader to report it is finished. The completed response status code. true when the end of the response stream was read, otherwise false. Resolve the specified exception to an end-user exception that will be thrown from the client. The resolved exception is normally a RpcException. Returns true when the resolved exception is changed. Obtains the payload from this operation. Error is thrown if complete hasn't been called. Cached log scope and URI for a gRPC . Gets key value pairs used by debugging. These are provided as an enumerator instead of a dictionary because it's one method to implement an enumerator on gRPC calls compared to a dozen members for a dictionary. Resolve the exception from HttpClient to a gRPC status code. The to resolve a from. WinHttp doesn't support streaming request data so a length needs to be specified. This HttpContent pre-serializes the payload so it has a length available. The payload is then written directly to the request using specialized context and serializer method. A client-side RPC invocation using HttpClient. Invokes a client streaming call asynchronously. In client streaming scenario, client sends a stream of requests and server responds with a single response. Invokes a duplex streaming call asynchronously. In duplex streaming scenario, client sends a stream of requests and server responds with a stream of responses. The response stream is completely independent and both side can be sending messages at the same time. Invokes a server streaming call asynchronously. In server streaming scenario, client sends on request and server responds with a stream of responses. Invokes a simple remote call asynchronously. Invokes a simple remote call in a blocking fashion. A value indicating whether there is an async move next already in progress. Should only check this property when holding the move next lock. Types for calling RtlGetVersion. See https://www.pinvoke.net/default.aspx/ntdll/RtlGetVersion.html The operation completed successfully. Observes and ignores a potential exception on a given Task. If a Task fails and throws an exception which is never observed, it will be caught by the .NET finalizer thread. This function awaits the given task and if the exception is thrown, it observes this exception and simply ignores it. This will prevent the escalation of this exception to the .NET finalizer thread. The task to be ignored. Generates a user agent string to be transported in headers. grpc-dotnet/2.41.0-dev (.NET 6.0.0-preview.7.21377.19; CLR 6.0.0; net6.0; osx; x64) grpc-dotnet/2.41.0-dev (Mono 6.12.0.140; CLR 4.0.30319; netstandard2.0; osx; x64) grpc-dotnet/2.41.0-dev (.NET 6.0.0-rc.1.21380.1; CLR 6.0.0; net6.0; linux; arm64) grpc-dotnet/2.41.0-dev (.NET 5.0.8; CLR 5.0.8; net5.0; linux; arm64) grpc-dotnet/2.41.0-dev (.NET Core; CLR 3.1.4; netstandard2.1; linux; arm64) grpc-dotnet/2.41.0-dev (.NET Framework; CLR 4.0.30319.42000; netstandard2.0; windows; x86) grpc-dotnet/2.41.0-dev (.NET 6.0.0-rc.1.21380.1; CLR 6.0.0; net6.0; windows; x64) Throws an if the specified is . The condition to evaluate. The object whose type's full name should be included in any resulting . The is . Throws an if the specified is . The condition to evaluate. The type whose full name should be included in any resulting . The is . Throws an if is null. The reference type argument to validate as non-null. The name of the parameter with which corresponds.