public static void Shutdown(this ChannelBase channel, ILogger logger = null)
Shuts down a channel semi-synchronously. This method initially calls Dispose()
if the channel implements IDisposable (e.g. in the case of GrpcChannel)
and then calls ShutdownAsync(). This method does not wait for the task
to complete, but observes any exceptions (whether the task is faulted or canceled), optionally logging
them to logger.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThis document outlines the \u003ccode\u003eChannelBaseExtensions\u003c/code\u003e class, which provides extension methods for the \u003ccode\u003eChannelBase\u003c/code\u003e type within the \u003ccode\u003eGoogle.Api.Gax.Grpc\u003c/code\u003e namespace.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version of this API documented is 4.10.0, while this page documents version 4.4.0 of \u003ccode\u003eGoogle.Api.Gax.Grpc.ChannelBaseExtensions\u003c/code\u003e, and older versions are also listed.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eChannelBaseExtensions\u003c/code\u003e class inherits members from the base \u003ccode\u003eobject\u003c/code\u003e type, including methods like \u003ccode\u003eToString()\u003c/code\u003e, \u003ccode\u003eEquals()\u003c/code\u003e, and \u003ccode\u003eGetHashCode()\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eA key method provided is \u003ccode\u003eShutdown(ChannelBase, ILogger)\u003c/code\u003e, which allows for the semi-synchronous shutdown of a channel, including optional logging of any exceptions during the shutdown process.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eShutdown\u003c/code\u003e method first calls the \u003ccode\u003eDispose()\u003c/code\u003e method if it's implemented, then it calls the \u003ccode\u003eShutdownAsync()\u003c/code\u003e method, without waiting for the completion of this task.\u003c/p\u003e\n"]]],[],null,[]]