| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270 | <!DOCTYPE html><!--[if IE]><![endif]--><html>    <head>    <meta charset="utf-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">    <title>Class ServerServiceDefinitionExtensions   | gRPC C# </title>    <meta name="viewport" content="width=device-width">    <meta name="title" content="Class ServerServiceDefinitionExtensions   | 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.Interceptors.ServerServiceDefinitionExtensions">      <h1 id="Grpc_Core_Interceptors_ServerServiceDefinitionExtensions" data-uid="Grpc.Core.Interceptors.ServerServiceDefinitionExtensions" class="text-break">Class ServerServiceDefinitionExtensions  </h1>  <div class="markdown level0 summary"><p>Extends the ServerServiceDefinition class to add methods used to register interceptors on the server side.</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">ServerServiceDefinitionExtensions</span></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.Interceptors.html">Grpc.Core.Interceptors</a></h6>  <h6><strong>Assembly</strong>: Grpc.Core.dll</h6>  <h5 id="Grpc_Core_Interceptors_ServerServiceDefinitionExtensions_syntax">Syntax</h5>  <div class="codewrapper">    <pre><code class="lang-csharp hljs">public static class ServerServiceDefinitionExtensions</code></pre>  </div>  <h3 id="methods">Methods  </h3>  <a id="Grpc_Core_Interceptors_ServerServiceDefinitionExtensions_Intercept_" data-uid="Grpc.Core.Interceptors.ServerServiceDefinitionExtensions.Intercept*"></a>  <h4 id="Grpc_Core_Interceptors_ServerServiceDefinitionExtensions_Intercept_Grpc_Core_ServerServiceDefinition_Grpc_Core_Interceptors_Interceptor_" data-uid="Grpc.Core.Interceptors.ServerServiceDefinitionExtensions.Intercept(Grpc.Core.ServerServiceDefinition,Grpc.Core.Interceptors.Interceptor)">Intercept(ServerServiceDefinition, Interceptor)</h4>  <div class="markdown level1 summary"><p>Returns a <a class="xref" href="Grpc.Core.ServerServiceDefinition.html">ServerServiceDefinition</a> instance thatintercepts incoming calls to the underlying service handler through the given interceptor.</p></div>  <div class="markdown level1 conceptual"></div>  <h5 class="decalaration">Declaration</h5>  <div class="codewrapper">    <pre><code class="lang-csharp hljs">public static ServerServiceDefinition Intercept(this ServerServiceDefinition serverServiceDefinition, Interceptor interceptor)</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><a class="xref" href="Grpc.Core.ServerServiceDefinition.html">ServerServiceDefinition</a></td>        <td><span class="parametername">serverServiceDefinition</span></td>        <td><p>The <a class="xref" href="Grpc.Core.ServerServiceDefinition.html">ServerServiceDefinition</a> instance to register interceptors on.</p></td>      </tr>      <tr>        <td><a class="xref" href="Grpc.Core.Interceptors.Interceptor.html">Interceptor</a></td>        <td><span class="parametername">interceptor</span></td>        <td><p>The interceptor to intercept the incoming invocations with.</p></td>      </tr>    </tbody>  </table>  <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.ServerServiceDefinition.html">ServerServiceDefinition</a></td>        <td></td>      </tr>    </tbody>  </table>  <h5 id="Grpc_Core_Interceptors_ServerServiceDefinitionExtensions_Intercept_Grpc_Core_ServerServiceDefinition_Grpc_Core_Interceptors_Interceptor__remarks">Remarks</h5>  <div class="markdown level1 remarks"><p>Multiple interceptors can be added on top of each other by calling"serverServiceDefinition.Intercept(a, b, c)".  The order of invocation will be "a", "b", and then "c".Interceptors can be later added to an existing intercepted service definition, effectivelybuilding a chain like "serverServiceDefinition.Intercept(c).Intercept(b).Intercept(a)".  Note thatin this case, the last interceptor added will be the first to take control.</p></div>  <a id="Grpc_Core_Interceptors_ServerServiceDefinitionExtensions_Intercept_" data-uid="Grpc.Core.Interceptors.ServerServiceDefinitionExtensions.Intercept*"></a>  <h4 id="Grpc_Core_Interceptors_ServerServiceDefinitionExtensions_Intercept_Grpc_Core_ServerServiceDefinition_Grpc_Core_Interceptors_Interceptor___" data-uid="Grpc.Core.Interceptors.ServerServiceDefinitionExtensions.Intercept(Grpc.Core.ServerServiceDefinition,Grpc.Core.Interceptors.Interceptor[])">Intercept(ServerServiceDefinition, Interceptor[])</h4>  <div class="markdown level1 summary"><p>Returns a <a class="xref" href="Grpc.Core.ServerServiceDefinition.html">ServerServiceDefinition</a> instance thatintercepts incoming calls to the underlying service handler through the given interceptors.</p></div>  <div class="markdown level1 conceptual"></div>  <h5 class="decalaration">Declaration</h5>  <div class="codewrapper">    <pre><code class="lang-csharp hljs">public static ServerServiceDefinition Intercept(this ServerServiceDefinition serverServiceDefinition, params Interceptor[] interceptors)</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><a class="xref" href="Grpc.Core.ServerServiceDefinition.html">ServerServiceDefinition</a></td>        <td><span class="parametername">serverServiceDefinition</span></td>        <td><p>The <a class="xref" href="Grpc.Core.ServerServiceDefinition.html">ServerServiceDefinition</a> instance to register interceptors on.</p></td>      </tr>      <tr>        <td><a class="xref" href="Grpc.Core.Interceptors.Interceptor.html">Interceptor</a>[]</td>        <td><span class="parametername">interceptors</span></td>        <td><p>An array of interceptors to intercept the incoming invocations with.Control is passed to the interceptors in the order specified.</p></td>      </tr>    </tbody>  </table>  <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.ServerServiceDefinition.html">ServerServiceDefinition</a></td>        <td></td>      </tr>    </tbody>  </table>  <h5 id="Grpc_Core_Interceptors_ServerServiceDefinitionExtensions_Intercept_Grpc_Core_ServerServiceDefinition_Grpc_Core_Interceptors_Interceptor____remarks">Remarks</h5>  <div class="markdown level1 remarks"><p>Multiple interceptors can be added on top of each other by calling"serverServiceDefinition.Intercept(a, b, c)".  The order of invocation will be "a", "b", and then "c".Interceptors can be later added to an existing intercepted service definition, effectivelybuilding a chain like "serverServiceDefinition.Intercept(c).Intercept(b).Intercept(a)".  Note thatin this case, the last interceptor added will be the first to take control.</p></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>
 |