| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305 | <!DOCTYPE html><!--[if IE]><![endif]--><html>    <head>    <meta charset="utf-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">    <title>Class ChannelBase   | gRPC C# </title>    <meta name="viewport" content="width=device-width">    <meta name="title" content="Class ChannelBase   | gRPC C# ">    <meta name="generator" content="docfx 2.36.0.0">        <link rel="shortcut icon" href="../favicon.ico">    <link rel="stylesheet" href="../styles/docfx.vendor.css">    <link rel="stylesheet" href="../styles/docfx.css">    <link rel="stylesheet" href="../styles/main.css">    <meta property="docfx:navrel" content="../toc.html">    <meta property="docfx:tocrel" content="toc.html">        <meta property="docfx:rel" content="../">      </head>  <body data-spy="scroll" data-target="#affix" data-offset="120">    <div id="wrapper">      <header>                <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">          <div class="container">            <div class="navbar-header">              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">                <span class="sr-only">Toggle navigation</span>                <span class="icon-bar"></span>                <span class="icon-bar"></span>                <span class="icon-bar"></span>              </button>                            <a class="navbar-brand" href="../index.html">                <img id="logo" class="svg" src="../logo.svg" alt="">              </a>            </div>            <div class="collapse navbar-collapse" id="navbar">              <form class="navbar-form navbar-right" role="search" id="search">                <div class="form-group">                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">                </div>              </form>            </div>          </div>        </nav>                <div class="subnav navbar navbar-default">          <div class="container hide-when-search" id="breadcrumb">            <ul class="breadcrumb">              <li></li>            </ul>          </div>        </div>      </header>      <div class="container body-content">                <div id="search-results">          <div class="search-list"></div>          <div class="sr-items">            <p><i class="glyphicon glyphicon-refresh index-loading"></i></p>          </div>          <ul id="pagination"></ul>        </div>      </div>      <div role="main" class="container body-content hide-when-search">                <div class="sidenav hide-when-search">          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>          <div class="sidetoggle collapse" id="sidetoggle">            <div id="sidetoc"></div>          </div>        </div>        <div class="article row grid-right">          <div class="col-md-10">            <article class="content wrap" id="_content" data-uid="Grpc.Core.ChannelBase">      <h1 id="Grpc_Core_ChannelBase" data-uid="Grpc.Core.ChannelBase" class="text-break">Class ChannelBase  </h1>  <div class="markdown level0 summary"><p>Base class for gRPC channel. Channels are an abstraction of long-lived connections to remote servers.</p></div>  <div class="markdown level0 conceptual"></div>  <div class="inheritance">    <h5>Inheritance</h5>    <div class="level0"><span class="xref">System.Object</span></div>    <div class="level1"><span class="xref">ChannelBase</span></div>      <div class="level2"><a class="xref" href="Grpc.Core.Channel.html">Channel</a></div>  </div>  <div class="inheritedMembers">    <h5>Inherited Members</h5>    <div>      <span class="xref">System.Object.Equals(System.Object)</span>    </div>    <div>      <span class="xref">System.Object.Equals(System.Object, System.Object)</span>    </div>    <div>      <span class="xref">System.Object.GetHashCode()</span>    </div>    <div>      <span class="xref">System.Object.GetType()</span>    </div>    <div>      <span class="xref">System.Object.MemberwiseClone()</span>    </div>    <div>      <span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>    </div>    <div>      <span class="xref">System.Object.ToString()</span>    </div>  </div>  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.Core.html">Grpc.Core</a></h6>  <h6><strong>Assembly</strong>: Grpc.Core.Api.dll</h6>  <h5 id="Grpc_Core_ChannelBase_syntax">Syntax</h5>  <div class="codewrapper">    <pre><code class="lang-csharp hljs">public abstract class ChannelBase</code></pre>  </div>  <h3 id="constructors">Constructors  </h3>  <a id="Grpc_Core_ChannelBase__ctor_" data-uid="Grpc.Core.ChannelBase.#ctor*"></a>  <h4 id="Grpc_Core_ChannelBase__ctor_System_String_" data-uid="Grpc.Core.ChannelBase.#ctor(System.String)">ChannelBase(String)</h4>  <div class="markdown level1 summary"><p>Initializes a new instance of <a class="xref" href="Grpc.Core.ChannelBase.html">ChannelBase</a> class that connects to a specific host.</p></div>  <div class="markdown level1 conceptual"></div>  <h5 class="decalaration">Declaration</h5>  <div class="codewrapper">    <pre><code class="lang-csharp hljs">protected ChannelBase(string target)</code></pre>  </div>  <h5 class="parameters">Parameters</h5>  <table class="table table-bordered table-striped table-condensed">    <thead>      <tr>        <th>Type</th>        <th>Name</th>        <th>Description</th>      </tr>    </thead>    <tbody>      <tr>        <td><span class="xref">System.String</span></td>        <td><span class="parametername">target</span></td>        <td><p>Target of the channel.</p></td>      </tr>    </tbody>  </table>  <h3 id="properties">Properties  </h3>  <a id="Grpc_Core_ChannelBase_Target_" data-uid="Grpc.Core.ChannelBase.Target*"></a>  <h4 id="Grpc_Core_ChannelBase_Target" data-uid="Grpc.Core.ChannelBase.Target">Target</h4>  <div class="markdown level1 summary"><p>The original target used to create the channel.</p></div>  <div class="markdown level1 conceptual"></div>  <h5 class="decalaration">Declaration</h5>  <div class="codewrapper">    <pre><code class="lang-csharp hljs">public string Target { get; }</code></pre>  </div>  <h5 class="propertyValue">Property Value</h5>  <table class="table table-bordered table-striped table-condensed">    <thead>      <tr>        <th>Type</th>        <th>Description</th>      </tr>    </thead>    <tbody>      <tr>        <td><span class="xref">System.String</span></td>        <td></td>      </tr>    </tbody>  </table>  <h3 id="methods">Methods  </h3>  <a id="Grpc_Core_ChannelBase_CreateCallInvoker_" data-uid="Grpc.Core.ChannelBase.CreateCallInvoker*"></a>  <h4 id="Grpc_Core_ChannelBase_CreateCallInvoker" data-uid="Grpc.Core.ChannelBase.CreateCallInvoker">CreateCallInvoker()</h4>  <div class="markdown level1 summary"><p>Create a new <a class="xref" href="Grpc.Core.CallInvoker.html">CallInvoker</a> for the channel.</p></div>  <div class="markdown level1 conceptual"></div>  <h5 class="decalaration">Declaration</h5>  <div class="codewrapper">    <pre><code class="lang-csharp hljs">public abstract CallInvoker CreateCallInvoker()</code></pre>  </div>  <h5 class="returns">Returns</h5>  <table class="table table-bordered table-striped table-condensed">    <thead>      <tr>        <th>Type</th>        <th>Description</th>      </tr>    </thead>    <tbody>      <tr>        <td><a class="xref" href="Grpc.Core.CallInvoker.html">CallInvoker</a></td>        <td><p>A new <a class="xref" href="Grpc.Core.CallInvoker.html">CallInvoker</a>.</p></td>      </tr>    </tbody>  </table>  <a id="Grpc_Core_ChannelBase_ShutdownAsync_" data-uid="Grpc.Core.ChannelBase.ShutdownAsync*"></a>  <h4 id="Grpc_Core_ChannelBase_ShutdownAsync" data-uid="Grpc.Core.ChannelBase.ShutdownAsync">ShutdownAsync()</h4>  <div class="markdown level1 summary"><p>Shuts down the channel cleanly. It is strongly recommended to shutdownthe channel once you stopped using it.</p></div>  <div class="markdown level1 conceptual"></div>  <h5 class="decalaration">Declaration</h5>  <div class="codewrapper">    <pre><code class="lang-csharp hljs">public Task ShutdownAsync()</code></pre>  </div>  <h5 class="returns">Returns</h5>  <table class="table table-bordered table-striped table-condensed">    <thead>      <tr>        <th>Type</th>        <th>Description</th>      </tr>    </thead>    <tbody>      <tr>        <td><span class="xref">System.Threading.Tasks.Task</span></td>        <td></td>      </tr>    </tbody>  </table>  <h5 id="Grpc_Core_ChannelBase_ShutdownAsync_remarks">Remarks</h5>  <div class="markdown level1 remarks"><p>Guidance for implementors:This method doesn't wait for all calls on this channel to finish (nor doesit have to explicitly cancel all outstanding calls). It is user's responsibility to make sureall the calls on this channel have finished (successfully or with an error)before shutting down the channel to ensure channel shutdown won't impactthe outcome of those remote calls.</p></div>  <a id="Grpc_Core_ChannelBase_ShutdownAsyncCore_" data-uid="Grpc.Core.ChannelBase.ShutdownAsyncCore*"></a>  <h4 id="Grpc_Core_ChannelBase_ShutdownAsyncCore" data-uid="Grpc.Core.ChannelBase.ShutdownAsyncCore">ShutdownAsyncCore()</h4>  <div class="markdown level1 summary"><p>Provides implementation of a non-virtual public member.</p></div>  <div class="markdown level1 conceptual"></div>  <h5 class="decalaration">Declaration</h5>  <div class="codewrapper">    <pre><code class="lang-csharp hljs">protected virtual Task ShutdownAsyncCore()</code></pre>  </div>  <h5 class="returns">Returns</h5>  <table class="table table-bordered table-striped table-condensed">    <thead>      <tr>        <th>Type</th>        <th>Description</th>      </tr>    </thead>    <tbody>      <tr>        <td><span class="xref">System.Threading.Tasks.Task</span></td>        <td></td>      </tr>    </tbody>  </table>  <h3 id="extensionmethods">Extension Methods</h3>  <div>      <a class="xref" href="Grpc.Core.Interceptors.ChannelExtensions.html#Grpc_Core_Interceptors_ChannelExtensions_Intercept_Grpc_Core_ChannelBase_Grpc_Core_Interceptors_Interceptor_">ChannelExtensions.Intercept(ChannelBase, Interceptor)</a>  </div>  <div>      <a class="xref" href="Grpc.Core.Interceptors.ChannelExtensions.html#Grpc_Core_Interceptors_ChannelExtensions_Intercept_Grpc_Core_ChannelBase_Grpc_Core_Interceptors_Interceptor___">ChannelExtensions.Intercept(ChannelBase, Interceptor[])</a>  </div>  <div>      <a class="xref" href="Grpc.Core.Interceptors.ChannelExtensions.html#Grpc_Core_Interceptors_ChannelExtensions_Intercept_Grpc_Core_ChannelBase_System_Func_Grpc_Core_Metadata_Grpc_Core_Metadata__">ChannelExtensions.Intercept(ChannelBase, Func<Metadata, Metadata>)</a>  </div></article>          </div>                    <div class="hidden-sm col-md-2" role="complementary">            <div class="sideaffix">              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">              <!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->              </nav>            </div>          </div>        </div>      </div>            <footer>        <div class="grad-bottom"></div>        <div class="footer">          <div class="container">            <span class="pull-right">              <a href="#top">Back to top</a>            </span>                        <span>Generated by <strong>DocFX</strong></span>          </div>        </div>      </footer>    </div>        <script type="text/javascript" src="../styles/docfx.vendor.js"></script>    <script type="text/javascript" src="../styles/docfx.js"></script>    <script type="text/javascript" src="../styles/main.js"></script>  </body></html>
 |