浏览代码

add generated API docs for grpc-dotnet

Jan Tattermusch 6 年之前
父节点
当前提交
44946247fa
共有 100 个文件被更改,包括 25805 次插入0 次删除
  1. 216 0
      csharp-dotnet/api/Grpc.AspNetCore.Server.GrpcMethodMetadata.html
  2. 172 0
      csharp-dotnet/api/Grpc.AspNetCore.Server.GrpcServiceOptions-1.html
  3. 306 0
      csharp-dotnet/api/Grpc.AspNetCore.Server.GrpcServiceOptions.html
  4. 156 0
      csharp-dotnet/api/Grpc.AspNetCore.Server.IGrpcServerBuilder.html
  5. 152 0
      csharp-dotnet/api/Grpc.AspNetCore.Server.IServerCallContextFeature.html
  6. 210 0
      csharp-dotnet/api/Grpc.AspNetCore.Server.InterceptorCollection.html
  7. 181 0
      csharp-dotnet/api/Grpc.AspNetCore.Server.InterceptorRegistration.html
  8. 199 0
      csharp-dotnet/api/Grpc.AspNetCore.Server.Model.ClientStreamingServerMethod-3.html
  9. 204 0
      csharp-dotnet/api/Grpc.AspNetCore.Server.Model.DuplexStreamingServerMethod-3.html
  10. 178 0
      csharp-dotnet/api/Grpc.AspNetCore.Server.Model.IServiceMethodProvider-1.html
  11. 204 0
      csharp-dotnet/api/Grpc.AspNetCore.Server.Model.ServerStreamingServerMethod-3.html
  12. 393 0
      csharp-dotnet/api/Grpc.AspNetCore.Server.Model.ServiceMethodProviderContext-1.html
  13. 199 0
      csharp-dotnet/api/Grpc.AspNetCore.Server.Model.UnaryServerMethod-3.html
  14. 143 0
      csharp-dotnet/api/Grpc.AspNetCore.Server.Model.html
  15. 144 0
      csharp-dotnet/api/Grpc.AspNetCore.Server.html
  16. 165 0
      csharp-dotnet/api/Grpc.Core.AsyncAuthInterceptor.html
  17. 377 0
      csharp-dotnet/api/Grpc.Core.AsyncClientStreamingCall-2.html
  18. 353 0
      csharp-dotnet/api/Grpc.Core.AsyncDuplexStreamingCall-2.html
  19. 318 0
      csharp-dotnet/api/Grpc.Core.AsyncServerStreamingCall-1.html
  20. 194 0
      csharp-dotnet/api/Grpc.Core.AsyncStreamReaderExtensions.html
  21. 342 0
      csharp-dotnet/api/Grpc.Core.AsyncUnaryCall-1.html
  22. 313 0
      csharp-dotnet/api/Grpc.Core.AuthContext.html
  23. 214 0
      csharp-dotnet/api/Grpc.Core.AuthInterceptorContext.html
  24. 256 0
      csharp-dotnet/api/Grpc.Core.AuthProperty.html
  25. 220 0
      csharp-dotnet/api/Grpc.Core.BindServiceMethodAttribute.html
  26. 252 0
      csharp-dotnet/api/Grpc.Core.CallCredentials.html
  27. 196 0
      csharp-dotnet/api/Grpc.Core.CallCredentialsConfiguratorBase.html
  28. 517 0
      csharp-dotnet/api/Grpc.Core.CallInvoker.html
  29. 666 0
      csharp-dotnet/api/Grpc.Core.CallOptions.html
  30. 223 0
      csharp-dotnet/api/Grpc.Core.ChannelBase.html
  31. 254 0
      csharp-dotnet/api/Grpc.Core.ChannelCredentials.html
  32. 237 0
      csharp-dotnet/api/Grpc.Core.ChannelCredentialsConfiguratorBase.html
  33. 335 0
      csharp-dotnet/api/Grpc.Core.ClientBase-1.html
  34. 134 0
      csharp-dotnet/api/Grpc.Core.ClientBase.ClientBaseConfiguration.html
  35. 253 0
      csharp-dotnet/api/Grpc.Core.ClientBase.html
  36. 185 0
      csharp-dotnet/api/Grpc.Core.ClientStreamingServerMethod-2.html
  37. 241 0
      csharp-dotnet/api/Grpc.Core.ContextPropagationOptions.html
  38. 136 0
      csharp-dotnet/api/Grpc.Core.ContextPropagationToken.html
  39. 224 0
      csharp-dotnet/api/Grpc.Core.DeserializationContext.html
  40. 190 0
      csharp-dotnet/api/Grpc.Core.DuplexStreamingServerMethod-2.html
  41. 236 0
      csharp-dotnet/api/Grpc.Core.IAsyncStreamReader-1.html
  42. 215 0
      csharp-dotnet/api/Grpc.Core.IAsyncStreamWriter-1.html
  43. 177 0
      csharp-dotnet/api/Grpc.Core.IClientStreamWriter-1.html
  44. 225 0
      csharp-dotnet/api/Grpc.Core.IMethod.html
  45. 150 0
      csharp-dotnet/api/Grpc.Core.IServerStreamWriter-1.html
  46. 302 0
      csharp-dotnet/api/Grpc.Core.Interceptors.CallInvokerExtensions.html
  47. 302 0
      csharp-dotnet/api/Grpc.Core.Interceptors.ChannelExtensions.html
  48. 264 0
      csharp-dotnet/api/Grpc.Core.Interceptors.ClientInterceptorContext-2.html
  49. 192 0
      csharp-dotnet/api/Grpc.Core.Interceptors.Interceptor.AsyncClientStreamingCallContinuation-2.html
  50. 190 0
      csharp-dotnet/api/Grpc.Core.Interceptors.Interceptor.AsyncDuplexStreamingCallContinuation-2.html
  51. 198 0
      csharp-dotnet/api/Grpc.Core.Interceptors.Interceptor.AsyncServerStreamingCallContinuation-2.html
  52. 198 0
      csharp-dotnet/api/Grpc.Core.Interceptors.Interceptor.AsyncUnaryCallContinuation-2.html
  53. 197 0
      csharp-dotnet/api/Grpc.Core.Interceptors.Interceptor.BlockingUnaryCallContinuation-2.html
  54. 881 0
      csharp-dotnet/api/Grpc.Core.Interceptors.Interceptor.html
  55. 182 0
      csharp-dotnet/api/Grpc.Core.Interceptors.html
  56. 216 0
      csharp-dotnet/api/Grpc.Core.KeyCertificatePair.html
  57. 202 0
      csharp-dotnet/api/Grpc.Core.LiteClientBase.html
  58. 317 0
      csharp-dotnet/api/Grpc.Core.Marshaller-1.html
  59. 282 0
      csharp-dotnet/api/Grpc.Core.Marshallers.html
  60. 323 0
      csharp-dotnet/api/Grpc.Core.Metadata.Entry.html
  61. 617 0
      csharp-dotnet/api/Grpc.Core.Metadata.html
  62. 360 0
      csharp-dotnet/api/Grpc.Core.Method-2.html
  63. 158 0
      csharp-dotnet/api/Grpc.Core.MethodType.html
  64. 341 0
      csharp-dotnet/api/Grpc.Core.RpcException.html
  65. 162 0
      csharp-dotnet/api/Grpc.Core.SerializationContext.html
  66. 846 0
      csharp-dotnet/api/Grpc.Core.ServerCallContext.html
  67. 178 0
      csharp-dotnet/api/Grpc.Core.ServerCallContextExtensions.html
  68. 453 0
      csharp-dotnet/api/Grpc.Core.ServerServiceDefinition.Builder.html
  69. 160 0
      csharp-dotnet/api/Grpc.Core.ServerServiceDefinition.html
  70. 190 0
      csharp-dotnet/api/Grpc.Core.ServerStreamingServerMethod-2.html
  71. 355 0
      csharp-dotnet/api/Grpc.Core.ServiceBinderBase.html
  72. 340 0
      csharp-dotnet/api/Grpc.Core.SslCredentials.html
  73. 285 0
      csharp-dotnet/api/Grpc.Core.Status.html
  74. 251 0
      csharp-dotnet/api/Grpc.Core.StatusCode.html
  75. 185 0
      csharp-dotnet/api/Grpc.Core.UnaryServerMethod-2.html
  76. 373 0
      csharp-dotnet/api/Grpc.Core.Utils.GrpcPreconditions.html
  77. 124 0
      csharp-dotnet/api/Grpc.Core.Utils.html
  78. 167 0
      csharp-dotnet/api/Grpc.Core.VerifyPeerCallback.html
  79. 182 0
      csharp-dotnet/api/Grpc.Core.VerifyPeerContext.html
  80. 204 0
      csharp-dotnet/api/Grpc.Core.VersionInfo.html
  81. 150 0
      csharp-dotnet/api/Grpc.Core.WriteFlags.html
  82. 211 0
      csharp-dotnet/api/Grpc.Core.WriteOptions.html
  83. 355 0
      csharp-dotnet/api/Grpc.Core.html
  84. 362 0
      csharp-dotnet/api/Grpc.Net.Client.GrpcChannel.html
  85. 350 0
      csharp-dotnet/api/Grpc.Net.Client.GrpcChannelOptions.html
  86. 129 0
      csharp-dotnet/api/Grpc.Net.Client.html
  87. 194 0
      csharp-dotnet/api/Grpc.Net.ClientFactory.GrpcClientFactory.html
  88. 205 0
      csharp-dotnet/api/Grpc.Net.ClientFactory.GrpcClientFactoryOptions.html
  89. 128 0
      csharp-dotnet/api/Grpc.Net.ClientFactory.html
  90. 288 0
      csharp-dotnet/api/Grpc.Net.Compression.GzipCompressionProvider.html
  91. 246 0
      csharp-dotnet/api/Grpc.Net.Compression.ICompressionProvider.html
  92. 129 0
      csharp-dotnet/api/Grpc.Net.Compression.html
  93. 193 0
      csharp-dotnet/api/Microsoft.AspNetCore.Builder.GrpcEndpointRouteBuilderExtensions.html
  94. 177 0
      csharp-dotnet/api/Microsoft.AspNetCore.Builder.GrpcReflectionEndpointRouteBuilderExtensions.html
  95. 160 0
      csharp-dotnet/api/Microsoft.AspNetCore.Builder.GrpcServiceEndpointConventionBuilder.html
  96. 130 0
      csharp-dotnet/api/Microsoft.AspNetCore.Builder.html
  97. 624 0
      csharp-dotnet/api/Microsoft.Extensions.DependencyInjection.GrpcClientServiceExtensions.html
  98. 389 0
      csharp-dotnet/api/Microsoft.Extensions.DependencyInjection.GrpcHttpClientBuilderExtensions.html
  99. 176 0
      csharp-dotnet/api/Microsoft.Extensions.DependencyInjection.GrpcReflectionServiceExtensions.html
  100. 177 0
      csharp-dotnet/api/Microsoft.Extensions.DependencyInjection.GrpcServerHttpClientBuilderExtensions.html

+ 216 - 0
csharp-dotnet/api/Grpc.AspNetCore.Server.GrpcMethodMetadata.html

@@ -0,0 +1,216 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class GrpcMethodMetadata
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class GrpcMethodMetadata
+   | gRPC for .NET ">
+    <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.AspNetCore.Server.GrpcMethodMetadata">
+  
+  
+  <h1 id="Grpc_AspNetCore_Server_GrpcMethodMetadata" data-uid="Grpc.AspNetCore.Server.GrpcMethodMetadata" class="text-break">Class GrpcMethodMetadata
+  </h1>
+  <div class="markdown level0 summary"><p>Metadata for a gRPC method endpoint.</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">GrpcMethodMetadata</span></div>
+  </div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.AspNetCore.Server.html">Grpc.AspNetCore.Server</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.AspNetCore.Server.dll</h6>
+  <h5 id="Grpc_AspNetCore_Server_GrpcMethodMetadata_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public sealed class GrpcMethodMetadata : object</code></pre>
+  </div>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_AspNetCore_Server_GrpcMethodMetadata__ctor_" data-uid="Grpc.AspNetCore.Server.GrpcMethodMetadata.#ctor*"></a>
+  <h4 id="Grpc_AspNetCore_Server_GrpcMethodMetadata__ctor_Type_IMethod_" data-uid="Grpc.AspNetCore.Server.GrpcMethodMetadata.#ctor(Type,IMethod)">GrpcMethodMetadata(Type, IMethod)</h4>
+  <div class="markdown level1 summary"><p>Creates a new instance of <a class="xref" href="Grpc.AspNetCore.Server.GrpcMethodMetadata.html">GrpcMethodMetadata</a> with the provided service type and method.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public GrpcMethodMetadata(Type serviceType, IMethod method)</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">Type</span></td>
+        <td><span class="parametername">serviceType</span></td>
+        <td><p>The implementing service type.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">IMethod</span></td>
+        <td><span class="parametername">method</span></td>
+        <td><p>The method representation.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_AspNetCore_Server_GrpcMethodMetadata_Method_" data-uid="Grpc.AspNetCore.Server.GrpcMethodMetadata.Method*"></a>
+  <h4 id="Grpc_AspNetCore_Server_GrpcMethodMetadata_Method" data-uid="Grpc.AspNetCore.Server.GrpcMethodMetadata.Method">Method</h4>
+  <div class="markdown level1 summary"><p>Gets the method representation.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public IMethod Method { 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">IMethod</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_AspNetCore_Server_GrpcMethodMetadata_ServiceType_" data-uid="Grpc.AspNetCore.Server.GrpcMethodMetadata.ServiceType*"></a>
+  <h4 id="Grpc_AspNetCore_Server_GrpcMethodMetadata_ServiceType" data-uid="Grpc.AspNetCore.Server.GrpcMethodMetadata.ServiceType">ServiceType</h4>
+  <div class="markdown level1 summary"><p>Gets the implementing service type.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Type ServiceType { 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">Type</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 172 - 0
csharp-dotnet/api/Grpc.AspNetCore.Server.GrpcServiceOptions-1.html

@@ -0,0 +1,172 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class GrpcServiceOptions&lt;TService&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class GrpcServiceOptions&lt;TService&gt;
+   | gRPC for .NET ">
+    <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.AspNetCore.Server.GrpcServiceOptions`1">
+  
+  
+  <h1 id="Grpc_AspNetCore_Server_GrpcServiceOptions_1" data-uid="Grpc.AspNetCore.Server.GrpcServiceOptions`1" class="text-break">Class GrpcServiceOptions&lt;TService&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>Options used to configure the specified service type instances. These options override globally set options.</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"><a class="xref" href="Grpc.AspNetCore.Server.GrpcServiceOptions.html">GrpcServiceOptions</a></div>
+    <div class="level2"><span class="xref">GrpcServiceOptions&lt;TService&gt;</span></div>
+  </div>
+  <div class="inheritedMembers">
+    <h5>Inherited Members</h5>
+    <div>
+      <a class="xref" href="Grpc.AspNetCore.Server.GrpcServiceOptions.html#Grpc_AspNetCore_Server_GrpcServiceOptions_MaxSendMessageSize">GrpcServiceOptions.MaxSendMessageSize</a>
+    </div>
+    <div>
+      <a class="xref" href="Grpc.AspNetCore.Server.GrpcServiceOptions.html#Grpc_AspNetCore_Server_GrpcServiceOptions_MaxReceiveMessageSize">GrpcServiceOptions.MaxReceiveMessageSize</a>
+    </div>
+    <div>
+      <a class="xref" href="Grpc.AspNetCore.Server.GrpcServiceOptions.html#Grpc_AspNetCore_Server_GrpcServiceOptions_EnableDetailedErrors">GrpcServiceOptions.EnableDetailedErrors</a>
+    </div>
+    <div>
+      <a class="xref" href="Grpc.AspNetCore.Server.GrpcServiceOptions.html#Grpc_AspNetCore_Server_GrpcServiceOptions_ResponseCompressionAlgorithm">GrpcServiceOptions.ResponseCompressionAlgorithm</a>
+    </div>
+    <div>
+      <a class="xref" href="Grpc.AspNetCore.Server.GrpcServiceOptions.html#Grpc_AspNetCore_Server_GrpcServiceOptions_ResponseCompressionLevel">GrpcServiceOptions.ResponseCompressionLevel</a>
+    </div>
+    <div>
+      <a class="xref" href="Grpc.AspNetCore.Server.GrpcServiceOptions.html#Grpc_AspNetCore_Server_GrpcServiceOptions_CompressionProviders">GrpcServiceOptions.CompressionProviders</a>
+    </div>
+    <div>
+      <a class="xref" href="Grpc.AspNetCore.Server.GrpcServiceOptions.html#Grpc_AspNetCore_Server_GrpcServiceOptions_Interceptors">GrpcServiceOptions.Interceptors</a>
+    </div>
+  </div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.AspNetCore.Server.html">Grpc.AspNetCore.Server</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.AspNetCore.Server.dll</h6>
+  <h5 id="Grpc_AspNetCore_Server_GrpcServiceOptions_1_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public class GrpcServiceOptions&lt;TService&gt; : GrpcServiceOptions where TService : class</code></pre>
+  </div>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TService</span></td>
+        <td><p>The service type to configure.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 306 - 0
csharp-dotnet/api/Grpc.AspNetCore.Server.GrpcServiceOptions.html

@@ -0,0 +1,306 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class GrpcServiceOptions
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class GrpcServiceOptions
+   | gRPC for .NET ">
+    <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.AspNetCore.Server.GrpcServiceOptions">
+  
+  
+  <h1 id="Grpc_AspNetCore_Server_GrpcServiceOptions" data-uid="Grpc.AspNetCore.Server.GrpcServiceOptions" class="text-break">Class GrpcServiceOptions
+  </h1>
+  <div class="markdown level0 summary"><p>Options used to configure service instances.</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">GrpcServiceOptions</span></div>
+      <div class="level2"><a class="xref" href="Grpc.AspNetCore.Server.GrpcServiceOptions-1.html">GrpcServiceOptions&lt;TService&gt;</a></div>
+  </div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.AspNetCore.Server.html">Grpc.AspNetCore.Server</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.AspNetCore.Server.dll</h6>
+  <h5 id="Grpc_AspNetCore_Server_GrpcServiceOptions_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public class GrpcServiceOptions : object</code></pre>
+  </div>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_AspNetCore_Server_GrpcServiceOptions_CompressionProviders_" data-uid="Grpc.AspNetCore.Server.GrpcServiceOptions.CompressionProviders*"></a>
+  <h4 id="Grpc_AspNetCore_Server_GrpcServiceOptions_CompressionProviders" data-uid="Grpc.AspNetCore.Server.GrpcServiceOptions.CompressionProviders">CompressionProviders</h4>
+  <div class="markdown level1 summary"><p>Gets or sets the list of compression providers used to compress and decompress gRPC messages.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public IList&lt;ICompressionProvider&gt; CompressionProviders { get; set; }</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">IList</span>&lt;<a class="xref" href="Grpc.Net.Compression.ICompressionProvider.html">ICompressionProvider</a>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_AspNetCore_Server_GrpcServiceOptions_EnableDetailedErrors_" data-uid="Grpc.AspNetCore.Server.GrpcServiceOptions.EnableDetailedErrors*"></a>
+  <h4 id="Grpc_AspNetCore_Server_GrpcServiceOptions_EnableDetailedErrors" data-uid="Grpc.AspNetCore.Server.GrpcServiceOptions.EnableDetailedErrors">EnableDetailedErrors</h4>
+  <div class="markdown level1 summary"><p>Gets or sets a value indicating whether detailed error messages are sent to the peer.
+Detailed error messages include details from exceptions thrown on the server.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public bool? EnableDetailedErrors { get; set; }</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.Nullable</span>&lt;<span class="xref">System.Boolean</span>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_AspNetCore_Server_GrpcServiceOptions_Interceptors_" data-uid="Grpc.AspNetCore.Server.GrpcServiceOptions.Interceptors*"></a>
+  <h4 id="Grpc_AspNetCore_Server_GrpcServiceOptions_Interceptors" data-uid="Grpc.AspNetCore.Server.GrpcServiceOptions.Interceptors">Interceptors</h4>
+  <div class="markdown level1 summary"><p>Get a collection of interceptors to be executed with every call. Interceptors are executed in order.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public InterceptorCollection Interceptors { 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><a class="xref" href="Grpc.AspNetCore.Server.InterceptorCollection.html">InterceptorCollection</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_AspNetCore_Server_GrpcServiceOptions_MaxReceiveMessageSize_" data-uid="Grpc.AspNetCore.Server.GrpcServiceOptions.MaxReceiveMessageSize*"></a>
+  <h4 id="Grpc_AspNetCore_Server_GrpcServiceOptions_MaxReceiveMessageSize" data-uid="Grpc.AspNetCore.Server.GrpcServiceOptions.MaxReceiveMessageSize">MaxReceiveMessageSize</h4>
+  <div class="markdown level1 summary"><p>Gets or sets the maximum message size in bytes that can be received by the server.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public int? MaxReceiveMessageSize { get; set; }</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.Nullable</span>&lt;<span class="xref">System.Int32</span>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_AspNetCore_Server_GrpcServiceOptions_MaxSendMessageSize_" data-uid="Grpc.AspNetCore.Server.GrpcServiceOptions.MaxSendMessageSize*"></a>
+  <h4 id="Grpc_AspNetCore_Server_GrpcServiceOptions_MaxSendMessageSize" data-uid="Grpc.AspNetCore.Server.GrpcServiceOptions.MaxSendMessageSize">MaxSendMessageSize</h4>
+  <div class="markdown level1 summary"><p>Gets or sets the maximum message size in bytes that can be sent from the server.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public int? MaxSendMessageSize { get; set; }</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.Nullable</span>&lt;<span class="xref">System.Int32</span>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_AspNetCore_Server_GrpcServiceOptions_ResponseCompressionAlgorithm_" data-uid="Grpc.AspNetCore.Server.GrpcServiceOptions.ResponseCompressionAlgorithm*"></a>
+  <h4 id="Grpc_AspNetCore_Server_GrpcServiceOptions_ResponseCompressionAlgorithm" data-uid="Grpc.AspNetCore.Server.GrpcServiceOptions.ResponseCompressionAlgorithm">ResponseCompressionAlgorithm</h4>
+  <div class="markdown level1 summary"><p>Gets or sets the compression algorithm used to compress messages sent from the server.
+The request grpc-accept-encoding header value must contain this algorithm for it to
+be used.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public string? ResponseCompressionAlgorithm { get; set; }</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.Nullable</span>&lt;<span class="xref">System.String</span>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_AspNetCore_Server_GrpcServiceOptions_ResponseCompressionLevel_" data-uid="Grpc.AspNetCore.Server.GrpcServiceOptions.ResponseCompressionLevel*"></a>
+  <h4 id="Grpc_AspNetCore_Server_GrpcServiceOptions_ResponseCompressionLevel" data-uid="Grpc.AspNetCore.Server.GrpcServiceOptions.ResponseCompressionLevel">ResponseCompressionLevel</h4>
+  <div class="markdown level1 summary"><p>Gets or sets the compression level used to compress messages sent from the server.
+The compression level will be passed to the compression provider.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public CompressionLevel? ResponseCompressionLevel { get; set; }</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.Nullable</span>&lt;<span class="xref">CompressionLevel</span>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 156 - 0
csharp-dotnet/api/Grpc.AspNetCore.Server.IGrpcServerBuilder.html

@@ -0,0 +1,156 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Interface IGrpcServerBuilder
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Interface IGrpcServerBuilder
+   | gRPC for .NET ">
+    <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.AspNetCore.Server.IGrpcServerBuilder">
+  
+  
+  <h1 id="Grpc_AspNetCore_Server_IGrpcServerBuilder" data-uid="Grpc.AspNetCore.Server.IGrpcServerBuilder" class="text-break">Interface IGrpcServerBuilder
+  </h1>
+  <div class="markdown level0 summary"><p>A builder abstraction for configuring gRPC servers.</p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.AspNetCore.Server.html">Grpc.AspNetCore.Server</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.AspNetCore.Server.dll</h6>
+  <h5 id="Grpc_AspNetCore_Server_IGrpcServerBuilder_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public interface IGrpcServerBuilder</code></pre>
+  </div>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_AspNetCore_Server_IGrpcServerBuilder_Services_" data-uid="Grpc.AspNetCore.Server.IGrpcServerBuilder.Services*"></a>
+  <h4 id="Grpc_AspNetCore_Server_IGrpcServerBuilder_Services" data-uid="Grpc.AspNetCore.Server.IGrpcServerBuilder.Services">Services</h4>
+  <div class="markdown level1 summary"><p>Gets the builder service collection.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">IServiceCollection Services { 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">IServiceCollection</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="extensionmethods">Extension Methods</h3>
+  <div>
+      <a class="xref" href="Microsoft.Extensions.DependencyInjection.GrpcServicesExtensions.html#Microsoft_Extensions_DependencyInjection_GrpcServicesExtensions_AddServiceOptions__1_Grpc_AspNetCore_Server_IGrpcServerBuilder_Action_Grpc_AspNetCore_Server_GrpcServiceOptions___0___">GrpcServicesExtensions.AddServiceOptions&lt;TService&gt;(IGrpcServerBuilder, Action&lt;GrpcServiceOptions&lt;TService&gt;&gt;)</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>

+ 152 - 0
csharp-dotnet/api/Grpc.AspNetCore.Server.IServerCallContextFeature.html

@@ -0,0 +1,152 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Interface IServerCallContextFeature
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Interface IServerCallContextFeature
+   | gRPC for .NET ">
+    <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.AspNetCore.Server.IServerCallContextFeature">
+  
+  
+  <h1 id="Grpc_AspNetCore_Server_IServerCallContextFeature" data-uid="Grpc.AspNetCore.Server.IServerCallContextFeature" class="text-break">Interface IServerCallContextFeature
+  </h1>
+  <div class="markdown level0 summary"><p>Provides access to the gRPC server call context for the current HTTP request.</p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.AspNetCore.Server.html">Grpc.AspNetCore.Server</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.AspNetCore.Server.dll</h6>
+  <h5 id="Grpc_AspNetCore_Server_IServerCallContextFeature_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public interface IServerCallContextFeature</code></pre>
+  </div>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_AspNetCore_Server_IServerCallContextFeature_ServerCallContext_" data-uid="Grpc.AspNetCore.Server.IServerCallContextFeature.ServerCallContext*"></a>
+  <h4 id="Grpc_AspNetCore_Server_IServerCallContextFeature_ServerCallContext" data-uid="Grpc.AspNetCore.Server.IServerCallContextFeature.ServerCallContext">ServerCallContext</h4>
+  <div class="markdown level1 summary"><p>Gets the gRPC server call context for the current HTTP request.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">ServerCallContext ServerCallContext { 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">ServerCallContext</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 210 - 0
csharp-dotnet/api/Grpc.AspNetCore.Server.InterceptorCollection.html

@@ -0,0 +1,210 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class InterceptorCollection
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class InterceptorCollection
+   | gRPC for .NET ">
+    <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.AspNetCore.Server.InterceptorCollection">
+  
+  
+  <h1 id="Grpc_AspNetCore_Server_InterceptorCollection" data-uid="Grpc.AspNetCore.Server.InterceptorCollection" class="text-break">Class InterceptorCollection
+  </h1>
+  <div class="markdown level0 summary"><p>Represents the pipeline of interceptors to be invoked when processing a gRPC call.</p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <div class="inheritance">
+    <h5>Inheritance</h5>
+    <div class="level0"><span class="xref">Collection</span>&lt;<a class="xref" href="Grpc.AspNetCore.Server.InterceptorRegistration.html">InterceptorRegistration</a>&gt;</div>
+    <div class="level1"><span class="xref">InterceptorCollection</span></div>
+  </div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.AspNetCore.Server.html">Grpc.AspNetCore.Server</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.AspNetCore.Server.dll</h6>
+  <h5 id="Grpc_AspNetCore_Server_InterceptorCollection_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public class InterceptorCollection : Collection&lt;InterceptorRegistration&gt;</code></pre>
+  </div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_AspNetCore_Server_InterceptorCollection_Add_" data-uid="Grpc.AspNetCore.Server.InterceptorCollection.Add*"></a>
+  <h4 id="Grpc_AspNetCore_Server_InterceptorCollection_Add_Type_System_Object___" data-uid="Grpc.AspNetCore.Server.InterceptorCollection.Add(Type,System.Object[])">Add(Type, Object[])</h4>
+  <div class="markdown level1 summary"><p>Add an interceptor to the end of the pipeline.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public void Add(Type interceptorType, params object[] args)</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">Type</span></td>
+        <td><span class="parametername">interceptorType</span></td>
+        <td><p>The interceptor type.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.Object</span>[]</td>
+        <td><span class="parametername">args</span></td>
+        <td><p>The list of arguments to pass to the interceptor constructor when creating an instance.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_AspNetCore_Server_InterceptorCollection_Add_" data-uid="Grpc.AspNetCore.Server.InterceptorCollection.Add*"></a>
+  <h4 id="Grpc_AspNetCore_Server_InterceptorCollection_Add__1_System_Object___" data-uid="Grpc.AspNetCore.Server.InterceptorCollection.Add``1(System.Object[])">Add&lt;TInterceptor&gt;(Object[])</h4>
+  <div class="markdown level1 summary"><p>Add an interceptor to the end of the pipeline.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public void Add&lt;TInterceptor&gt;(params object[] args)
+    where TInterceptor : 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><span class="xref">System.Object</span>[]</td>
+        <td><span class="parametername">args</span></td>
+        <td><p>The list of arguments to pass to the interceptor constructor when creating an instance.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TInterceptor</span></td>
+        <td><p>The interceptor type.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 181 - 0
csharp-dotnet/api/Grpc.AspNetCore.Server.InterceptorRegistration.html

@@ -0,0 +1,181 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class InterceptorRegistration
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class InterceptorRegistration
+   | gRPC for .NET ">
+    <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.AspNetCore.Server.InterceptorRegistration">
+  
+  
+  <h1 id="Grpc_AspNetCore_Server_InterceptorRegistration" data-uid="Grpc.AspNetCore.Server.InterceptorRegistration" class="text-break">Class InterceptorRegistration
+  </h1>
+  <div class="markdown level0 summary"><p>Representation of a registration of the interceptor in the pipeline.</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">InterceptorRegistration</span></div>
+  </div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.AspNetCore.Server.html">Grpc.AspNetCore.Server</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.AspNetCore.Server.dll</h6>
+  <h5 id="Grpc_AspNetCore_Server_InterceptorRegistration_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public class InterceptorRegistration : object</code></pre>
+  </div>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_AspNetCore_Server_InterceptorRegistration_Arguments_" data-uid="Grpc.AspNetCore.Server.InterceptorRegistration.Arguments*"></a>
+  <h4 id="Grpc_AspNetCore_Server_InterceptorRegistration_Arguments" data-uid="Grpc.AspNetCore.Server.InterceptorRegistration.Arguments">Arguments</h4>
+  <div class="markdown level1 summary"><p>Get the arguments used to create the interceptor.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public IReadOnlyList&lt;object&gt; Arguments { 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">IReadOnlyList</span>&lt;<span class="xref">System.Object</span>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_AspNetCore_Server_InterceptorRegistration_Type_" data-uid="Grpc.AspNetCore.Server.InterceptorRegistration.Type*"></a>
+  <h4 id="Grpc_AspNetCore_Server_InterceptorRegistration_Type" data-uid="Grpc.AspNetCore.Server.InterceptorRegistration.Type">Type</h4>
+  <div class="markdown level1 summary"><p>Get the type of the interceptor.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Type Type { 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">Type</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 199 - 0
csharp-dotnet/api/Grpc.AspNetCore.Server.Model.ClientStreamingServerMethod-3.html

@@ -0,0 +1,199 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Delegate ClientStreamingServerMethod&lt;TService, TRequest, TResponse&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Delegate ClientStreamingServerMethod&lt;TService, TRequest, TResponse&gt;
+   | gRPC for .NET ">
+    <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.AspNetCore.Server.Model.ClientStreamingServerMethod`3">
+  
+  
+  <h1 id="Grpc_AspNetCore_Server_Model_ClientStreamingServerMethod_3" data-uid="Grpc.AspNetCore.Server.Model.ClientStreamingServerMethod`3" class="text-break">Delegate ClientStreamingServerMethod&lt;TService, TRequest, TResponse&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>Server-side handler for a client streaming call.</p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.AspNetCore.Server.Model.html">Grpc.AspNetCore.Server.Model</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.AspNetCore.Server.dll</h6>
+  <h5 id="Grpc_AspNetCore_Server_Model_ClientStreamingServerMethod_3_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public delegate Task&lt;TResponse&gt; ClientStreamingServerMethod&lt;TService, TRequest, TResponse&gt;(TService service, IAsyncStreamReader&lt;TRequest&gt; stream, ServerCallContext serverCallContext);</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">TService</span></td>
+        <td><span class="parametername">service</span></td>
+        <td><p>The service instance.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">IAsyncStreamReader</span>&lt;TRequest&gt;</td>
+        <td><span class="parametername">stream</span></td>
+        <td><p>A <see cref="!:IAsyncStreamReader&lt;TRequest>"></see> that is used to read a stream of request messages.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">ServerCallContext</span></td>
+        <td><span class="parametername">serverCallContext</span></td>
+        <td><p>The <see cref="!:ServerCallContext"></see> for the call.</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><span class="xref">Task</span>&lt;TResponse&gt;</td>
+        <td><p>A task that represents the completion of the call. The <see cref="!:Task&lt;TResult>.Result"></see>
+property returns a <code data-dev-comment-type="typeparamref" class="typeparamref">TResponse</code> for the call response.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TService</span></td>
+        <td><p>Service type for this method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>Request message type for this method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>Response message type for this method.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 204 - 0
csharp-dotnet/api/Grpc.AspNetCore.Server.Model.DuplexStreamingServerMethod-3.html

@@ -0,0 +1,204 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Delegate DuplexStreamingServerMethod&lt;TService, TRequest, TResponse&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Delegate DuplexStreamingServerMethod&lt;TService, TRequest, TResponse&gt;
+   | gRPC for .NET ">
+    <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.AspNetCore.Server.Model.DuplexStreamingServerMethod`3">
+  
+  
+  <h1 id="Grpc_AspNetCore_Server_Model_DuplexStreamingServerMethod_3" data-uid="Grpc.AspNetCore.Server.Model.DuplexStreamingServerMethod`3" class="text-break">Delegate DuplexStreamingServerMethod&lt;TService, TRequest, TResponse&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>Server-side handler for a duplex streaming call.</p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.AspNetCore.Server.Model.html">Grpc.AspNetCore.Server.Model</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.AspNetCore.Server.dll</h6>
+  <h5 id="Grpc_AspNetCore_Server_Model_DuplexStreamingServerMethod_3_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public delegate Task DuplexStreamingServerMethod&lt;TService, TRequest, TResponse&gt;(TService service, IAsyncStreamReader&lt;TRequest&gt; input, IServerStreamWriter&lt;TResponse&gt; output, ServerCallContext serverCallContext);</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">TService</span></td>
+        <td><span class="parametername">service</span></td>
+        <td><p>The service instance.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">IAsyncStreamReader</span>&lt;TRequest&gt;</td>
+        <td><span class="parametername">input</span></td>
+        <td><p>A <see cref="!:IAsyncStreamReader&lt;TRequest>"></see> that is used to read a stream of request messages.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">IServerStreamWriter</span>&lt;TResponse&gt;</td>
+        <td><span class="parametername">output</span></td>
+        <td><p>A <see cref="!:IServerStreamWriter&lt;TResponse>"></see> that is used to write a stream of response messages.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">ServerCallContext</span></td>
+        <td><span class="parametername">serverCallContext</span></td>
+        <td><p>The <see cref="!:ServerCallContext"></see> for the call.</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><span class="xref">Task</span></td>
+        <td><p>A task that represents the completion of the call.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TService</span></td>
+        <td><p>Service type for this method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>Request message type for this method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>Response message type for this method.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 178 - 0
csharp-dotnet/api/Grpc.AspNetCore.Server.Model.IServiceMethodProvider-1.html

@@ -0,0 +1,178 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Interface IServiceMethodProvider&lt;TService&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Interface IServiceMethodProvider&lt;TService&gt;
+   | gRPC for .NET ">
+    <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.AspNetCore.Server.Model.IServiceMethodProvider`1">
+  
+  
+  <h1 id="Grpc_AspNetCore_Server_Model_IServiceMethodProvider_1" data-uid="Grpc.AspNetCore.Server.Model.IServiceMethodProvider`1" class="text-break">Interface IServiceMethodProvider&lt;TService&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>Defines a contract for specifying methods for <code data-dev-comment-type="typeparamref" class="typeparamref">TService</code>.</p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.AspNetCore.Server.Model.html">Grpc.AspNetCore.Server.Model</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.AspNetCore.Server.dll</h6>
+  <h5 id="Grpc_AspNetCore_Server_Model_IServiceMethodProvider_1_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public interface IServiceMethodProvider&lt;TService&gt;
+    where TService : class</code></pre>
+  </div>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TService</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 id="Grpc_AspNetCore_Server_Model_IServiceMethodProvider_1_remarks"><strong>Remarks</strong></h5>
+  <div class="markdown level0 remarks"><p>
+On application initialization, gRPC invokes all registered instances of <a class="xref" href="Grpc.AspNetCore.Server.Model.IServiceMethodProvider-1.html">IServiceMethodProvider&lt;TService&gt;</a> to 
+perform method discovery. 
+<a class="xref" href="Grpc.AspNetCore.Server.Model.IServiceMethodProvider-1.html">IServiceMethodProvider&lt;TService&gt;</a> instances are invoked in the order they are registered.
+</p>
+</div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_AspNetCore_Server_Model_IServiceMethodProvider_1_OnServiceMethodDiscovery_" data-uid="Grpc.AspNetCore.Server.Model.IServiceMethodProvider`1.OnServiceMethodDiscovery*"></a>
+  <h4 id="Grpc_AspNetCore_Server_Model_IServiceMethodProvider_1_OnServiceMethodDiscovery_Grpc_AspNetCore_Server_Model_ServiceMethodProviderContext__0__" data-uid="Grpc.AspNetCore.Server.Model.IServiceMethodProvider`1.OnServiceMethodDiscovery(Grpc.AspNetCore.Server.Model.ServiceMethodProviderContext{`0})">OnServiceMethodDiscovery(ServiceMethodProviderContext&lt;TService&gt;)</h4>
+  <div class="markdown level1 summary"><p>Called to execute the provider.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">void OnServiceMethodDiscovery(ServiceMethodProviderContext&lt;TService&gt; context)</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.AspNetCore.Server.Model.ServiceMethodProviderContext-1.html">ServiceMethodProviderContext</a>&lt;TService&gt;</td>
+        <td><span class="parametername">context</span></td>
+        <td><p>The <a class="xref" href="Grpc.AspNetCore.Server.Model.ServiceMethodProviderContext-1.html">ServiceMethodProviderContext&lt;TService&gt;</a>.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 204 - 0
csharp-dotnet/api/Grpc.AspNetCore.Server.Model.ServerStreamingServerMethod-3.html

@@ -0,0 +1,204 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Delegate ServerStreamingServerMethod&lt;TService, TRequest, TResponse&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Delegate ServerStreamingServerMethod&lt;TService, TRequest, TResponse&gt;
+   | gRPC for .NET ">
+    <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.AspNetCore.Server.Model.ServerStreamingServerMethod`3">
+  
+  
+  <h1 id="Grpc_AspNetCore_Server_Model_ServerStreamingServerMethod_3" data-uid="Grpc.AspNetCore.Server.Model.ServerStreamingServerMethod`3" class="text-break">Delegate ServerStreamingServerMethod&lt;TService, TRequest, TResponse&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>Server-side handler for a server streaming call.</p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.AspNetCore.Server.Model.html">Grpc.AspNetCore.Server.Model</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.AspNetCore.Server.dll</h6>
+  <h5 id="Grpc_AspNetCore_Server_Model_ServerStreamingServerMethod_3_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public delegate Task ServerStreamingServerMethod&lt;TService, TRequest, TResponse&gt;(TService service, TRequest request, IServerStreamWriter&lt;TResponse&gt; stream, ServerCallContext serverCallContext);</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">TService</span></td>
+        <td><span class="parametername">service</span></td>
+        <td><p>The service instance.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">TRequest</span></td>
+        <td><span class="parametername">request</span></td>
+        <td><p>The request message.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">IServerStreamWriter</span>&lt;TResponse&gt;</td>
+        <td><span class="parametername">stream</span></td>
+        <td><p>A <see cref="!:IServerStreamWriter&lt;TResponse>"></see> that is used to write a stream of response messages.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">ServerCallContext</span></td>
+        <td><span class="parametername">serverCallContext</span></td>
+        <td><p>The <see cref="!:ServerCallContext"></see> for the call.</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><span class="xref">Task</span></td>
+        <td><p>A task that represents the completion of the call.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TService</span></td>
+        <td><p>Service type for this method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>Request message type for this method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>Response message type for this method.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 393 - 0
csharp-dotnet/api/Grpc.AspNetCore.Server.Model.ServiceMethodProviderContext-1.html

@@ -0,0 +1,393 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class ServiceMethodProviderContext&lt;TService&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class ServiceMethodProviderContext&lt;TService&gt;
+   | gRPC for .NET ">
+    <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.AspNetCore.Server.Model.ServiceMethodProviderContext`1">
+  
+  
+  <h1 id="Grpc_AspNetCore_Server_Model_ServiceMethodProviderContext_1" data-uid="Grpc.AspNetCore.Server.Model.ServiceMethodProviderContext`1" class="text-break">Class ServiceMethodProviderContext&lt;TService&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>A context for <a class="xref" href="Grpc.AspNetCore.Server.Model.IServiceMethodProvider-1.html">IServiceMethodProvider&lt;TService&gt;</a>.</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">ServiceMethodProviderContext&lt;TService&gt;</span></div>
+  </div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.AspNetCore.Server.Model.html">Grpc.AspNetCore.Server.Model</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.AspNetCore.Server.dll</h6>
+  <h5 id="Grpc_AspNetCore_Server_Model_ServiceMethodProviderContext_1_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public class ServiceMethodProviderContext&lt;TService&gt; : object where TService : class</code></pre>
+  </div>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TService</span></td>
+        <td><p>Service type for the context.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_AspNetCore_Server_Model_ServiceMethodProviderContext_1_AddClientStreamingMethod_" data-uid="Grpc.AspNetCore.Server.Model.ServiceMethodProviderContext`1.AddClientStreamingMethod*"></a>
+  <h4 id="Grpc_AspNetCore_Server_Model_ServiceMethodProviderContext_1_AddClientStreamingMethod__2_Method___0___1__IList_System_Object__Grpc_AspNetCore_Server_Model_ClientStreamingServerMethod__0___0___1__" data-uid="Grpc.AspNetCore.Server.Model.ServiceMethodProviderContext`1.AddClientStreamingMethod``2(Method{``0,``1},IList{System.Object},Grpc.AspNetCore.Server.Model.ClientStreamingServerMethod{`0,``0,``1})">AddClientStreamingMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt;, IList&lt;Object&gt;, ClientStreamingServerMethod&lt;TService, TRequest, TResponse&gt;)</h4>
+  <div class="markdown level1 summary"><p>Adds a client streaming method to a service.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public void AddClientStreamingMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt; method, IList&lt;object&gt; metadata, ClientStreamingServerMethod&lt;TService, TRequest, TResponse&gt; invoker)
+    where TRequest : class where TResponse : class</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">Method</span>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">method</span></td>
+        <td><p>The method description.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">IList</span>&lt;<span class="xref">System.Object</span>&gt;</td>
+        <td><span class="parametername">metadata</span></td>
+        <td><p>The method metadata. This metadata can be used by routing and middleware when invoking a gRPC method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.AspNetCore.Server.Model.ClientStreamingServerMethod-3.html">ClientStreamingServerMethod</a>&lt;TService, TRequest, TResponse&gt;</td>
+        <td><span class="parametername">invoker</span></td>
+        <td><p>The method invoker that is executed when the method is called.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>Request message type for this method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>Response message type for this method.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_AspNetCore_Server_Model_ServiceMethodProviderContext_1_AddDuplexStreamingMethod_" data-uid="Grpc.AspNetCore.Server.Model.ServiceMethodProviderContext`1.AddDuplexStreamingMethod*"></a>
+  <h4 id="Grpc_AspNetCore_Server_Model_ServiceMethodProviderContext_1_AddDuplexStreamingMethod__2_Method___0___1__IList_System_Object__Grpc_AspNetCore_Server_Model_DuplexStreamingServerMethod__0___0___1__" data-uid="Grpc.AspNetCore.Server.Model.ServiceMethodProviderContext`1.AddDuplexStreamingMethod``2(Method{``0,``1},IList{System.Object},Grpc.AspNetCore.Server.Model.DuplexStreamingServerMethod{`0,``0,``1})">AddDuplexStreamingMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt;, IList&lt;Object&gt;, DuplexStreamingServerMethod&lt;TService, TRequest, TResponse&gt;)</h4>
+  <div class="markdown level1 summary"><p>Adds a duplex streaming method to a service.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public void AddDuplexStreamingMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt; method, IList&lt;object&gt; metadata, DuplexStreamingServerMethod&lt;TService, TRequest, TResponse&gt; invoker)
+    where TRequest : class where TResponse : class</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">Method</span>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">method</span></td>
+        <td><p>The method description.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">IList</span>&lt;<span class="xref">System.Object</span>&gt;</td>
+        <td><span class="parametername">metadata</span></td>
+        <td><p>The method metadata. This metadata can be used by routing and middleware when invoking a gRPC method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.AspNetCore.Server.Model.DuplexStreamingServerMethod-3.html">DuplexStreamingServerMethod</a>&lt;TService, TRequest, TResponse&gt;</td>
+        <td><span class="parametername">invoker</span></td>
+        <td><p>The method invoker that is executed when the method is called.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>Request message type for this method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>Response message type for this method.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_AspNetCore_Server_Model_ServiceMethodProviderContext_1_AddServerStreamingMethod_" data-uid="Grpc.AspNetCore.Server.Model.ServiceMethodProviderContext`1.AddServerStreamingMethod*"></a>
+  <h4 id="Grpc_AspNetCore_Server_Model_ServiceMethodProviderContext_1_AddServerStreamingMethod__2_Method___0___1__IList_System_Object__Grpc_AspNetCore_Server_Model_ServerStreamingServerMethod__0___0___1__" data-uid="Grpc.AspNetCore.Server.Model.ServiceMethodProviderContext`1.AddServerStreamingMethod``2(Method{``0,``1},IList{System.Object},Grpc.AspNetCore.Server.Model.ServerStreamingServerMethod{`0,``0,``1})">AddServerStreamingMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt;, IList&lt;Object&gt;, ServerStreamingServerMethod&lt;TService, TRequest, TResponse&gt;)</h4>
+  <div class="markdown level1 summary"><p>Adds a server streaming method to a service.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public void AddServerStreamingMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt; method, IList&lt;object&gt; metadata, ServerStreamingServerMethod&lt;TService, TRequest, TResponse&gt; invoker)
+    where TRequest : class where TResponse : class</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">Method</span>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">method</span></td>
+        <td><p>The method description.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">IList</span>&lt;<span class="xref">System.Object</span>&gt;</td>
+        <td><span class="parametername">metadata</span></td>
+        <td><p>The method metadata. This metadata can be used by routing and middleware when invoking a gRPC method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.AspNetCore.Server.Model.ServerStreamingServerMethod-3.html">ServerStreamingServerMethod</a>&lt;TService, TRequest, TResponse&gt;</td>
+        <td><span class="parametername">invoker</span></td>
+        <td><p>The method invoker that is executed when the method is called.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>Request message type for this method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>Response message type for this method.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_AspNetCore_Server_Model_ServiceMethodProviderContext_1_AddUnaryMethod_" data-uid="Grpc.AspNetCore.Server.Model.ServiceMethodProviderContext`1.AddUnaryMethod*"></a>
+  <h4 id="Grpc_AspNetCore_Server_Model_ServiceMethodProviderContext_1_AddUnaryMethod__2_Method___0___1__IList_System_Object__Grpc_AspNetCore_Server_Model_UnaryServerMethod__0___0___1__" data-uid="Grpc.AspNetCore.Server.Model.ServiceMethodProviderContext`1.AddUnaryMethod``2(Method{``0,``1},IList{System.Object},Grpc.AspNetCore.Server.Model.UnaryServerMethod{`0,``0,``1})">AddUnaryMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt;, IList&lt;Object&gt;, UnaryServerMethod&lt;TService, TRequest, TResponse&gt;)</h4>
+  <div class="markdown level1 summary"><p>Adds a unary method to a service.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public void AddUnaryMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt; method, IList&lt;object&gt; metadata, UnaryServerMethod&lt;TService, TRequest, TResponse&gt; invoker)
+    where TRequest : class where TResponse : class</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">Method</span>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">method</span></td>
+        <td><p>The method description.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">IList</span>&lt;<span class="xref">System.Object</span>&gt;</td>
+        <td><span class="parametername">metadata</span></td>
+        <td><p>The method metadata. This metadata can be used by routing and middleware when invoking a gRPC method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.AspNetCore.Server.Model.UnaryServerMethod-3.html">UnaryServerMethod</a>&lt;TService, TRequest, TResponse&gt;</td>
+        <td><span class="parametername">invoker</span></td>
+        <td><p>The method invoker that is executed when the method is called.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>Request message type for this method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>Response message type for this method.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 199 - 0
csharp-dotnet/api/Grpc.AspNetCore.Server.Model.UnaryServerMethod-3.html

@@ -0,0 +1,199 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Delegate UnaryServerMethod&lt;TService, TRequest, TResponse&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Delegate UnaryServerMethod&lt;TService, TRequest, TResponse&gt;
+   | gRPC for .NET ">
+    <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.AspNetCore.Server.Model.UnaryServerMethod`3">
+  
+  
+  <h1 id="Grpc_AspNetCore_Server_Model_UnaryServerMethod_3" data-uid="Grpc.AspNetCore.Server.Model.UnaryServerMethod`3" class="text-break">Delegate UnaryServerMethod&lt;TService, TRequest, TResponse&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>Server-side handler for a unary call.</p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.AspNetCore.Server.Model.html">Grpc.AspNetCore.Server.Model</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.AspNetCore.Server.dll</h6>
+  <h5 id="Grpc_AspNetCore_Server_Model_UnaryServerMethod_3_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public delegate Task&lt;TResponse&gt; UnaryServerMethod&lt;TService, TRequest, TResponse&gt;(TService service, TRequest request, ServerCallContext serverCallContext);</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">TService</span></td>
+        <td><span class="parametername">service</span></td>
+        <td><p>The service instance.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">TRequest</span></td>
+        <td><span class="parametername">request</span></td>
+        <td><p>The request message.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">ServerCallContext</span></td>
+        <td><span class="parametername">serverCallContext</span></td>
+        <td><p>The <see cref="!:ServerCallContext"></see> for the call.</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><span class="xref">Task</span>&lt;TResponse&gt;</td>
+        <td><p>A task that represents the completion of the call. The <see cref="!:Task&lt;TResult>.Result"></see>
+property returns a <code data-dev-comment-type="typeparamref" class="typeparamref">TResponse</code> for the call response.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TService</span></td>
+        <td><p>Service type for this method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>Request message type for this method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>Response message type for this method.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 143 - 0
csharp-dotnet/api/Grpc.AspNetCore.Server.Model.html

@@ -0,0 +1,143 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Namespace Grpc.AspNetCore.Server.Model
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Namespace Grpc.AspNetCore.Server.Model
+   | gRPC for .NET ">
+    <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.AspNetCore.Server.Model">
+  
+  <h1 id="Grpc_AspNetCore_Server_Model" data-uid="Grpc.AspNetCore.Server.Model" class="text-break">Namespace Grpc.AspNetCore.Server.Model
+  </h1>
+  <div class="markdown level0 summary"></div>
+  <div class="markdown level0 conceptual"></div>
+  <div class="markdown level0 remarks"></div>
+    <h3 id="classes">Classes
+  </h3>
+      <h4><a class="xref" href="Grpc.AspNetCore.Server.Model.ServiceMethodProviderContext-1.html">ServiceMethodProviderContext&lt;TService&gt;</a></h4>
+      <section><p>A context for <a class="xref" href="Grpc.AspNetCore.Server.Model.IServiceMethodProvider-1.html">IServiceMethodProvider&lt;TService&gt;</a>.</p>
+</section>
+    <h3 id="interfaces">Interfaces
+  </h3>
+      <h4><a class="xref" href="Grpc.AspNetCore.Server.Model.IServiceMethodProvider-1.html">IServiceMethodProvider&lt;TService&gt;</a></h4>
+      <section><p>Defines a contract for specifying methods for <code data-dev-comment-type="typeparamref" class="typeparamref">TService</code>.</p>
+</section>
+    <h3 id="delegates">Delegates
+  </h3>
+      <h4><a class="xref" href="Grpc.AspNetCore.Server.Model.ClientStreamingServerMethod-3.html">ClientStreamingServerMethod&lt;TService, TRequest, TResponse&gt;</a></h4>
+      <section><p>Server-side handler for a client streaming call.</p>
+</section>
+      <h4><a class="xref" href="Grpc.AspNetCore.Server.Model.DuplexStreamingServerMethod-3.html">DuplexStreamingServerMethod&lt;TService, TRequest, TResponse&gt;</a></h4>
+      <section><p>Server-side handler for a duplex streaming call.</p>
+</section>
+      <h4><a class="xref" href="Grpc.AspNetCore.Server.Model.ServerStreamingServerMethod-3.html">ServerStreamingServerMethod&lt;TService, TRequest, TResponse&gt;</a></h4>
+      <section><p>Server-side handler for a server streaming call.</p>
+</section>
+      <h4><a class="xref" href="Grpc.AspNetCore.Server.Model.UnaryServerMethod-3.html">UnaryServerMethod&lt;TService, TRequest, TResponse&gt;</a></h4>
+      <section><p>Server-side handler for a unary call.</p>
+</section>
+</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>

+ 144 - 0
csharp-dotnet/api/Grpc.AspNetCore.Server.html

@@ -0,0 +1,144 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Namespace Grpc.AspNetCore.Server
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Namespace Grpc.AspNetCore.Server
+   | gRPC for .NET ">
+    <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.AspNetCore.Server">
+  
+  <h1 id="Grpc_AspNetCore_Server" data-uid="Grpc.AspNetCore.Server" class="text-break">Namespace Grpc.AspNetCore.Server
+  </h1>
+  <div class="markdown level0 summary"></div>
+  <div class="markdown level0 conceptual"></div>
+  <div class="markdown level0 remarks"></div>
+    <h3 id="classes">Classes
+  </h3>
+      <h4><a class="xref" href="Grpc.AspNetCore.Server.GrpcMethodMetadata.html">GrpcMethodMetadata</a></h4>
+      <section><p>Metadata for a gRPC method endpoint.</p>
+</section>
+      <h4><a class="xref" href="Grpc.AspNetCore.Server.GrpcServiceOptions.html">GrpcServiceOptions</a></h4>
+      <section><p>Options used to configure service instances.</p>
+</section>
+      <h4><a class="xref" href="Grpc.AspNetCore.Server.GrpcServiceOptions-1.html">GrpcServiceOptions&lt;TService&gt;</a></h4>
+      <section><p>Options used to configure the specified service type instances. These options override globally set options.</p>
+</section>
+      <h4><a class="xref" href="Grpc.AspNetCore.Server.InterceptorCollection.html">InterceptorCollection</a></h4>
+      <section><p>Represents the pipeline of interceptors to be invoked when processing a gRPC call.</p>
+</section>
+      <h4><a class="xref" href="Grpc.AspNetCore.Server.InterceptorRegistration.html">InterceptorRegistration</a></h4>
+      <section><p>Representation of a registration of the interceptor in the pipeline.</p>
+</section>
+    <h3 id="interfaces">Interfaces
+  </h3>
+      <h4><a class="xref" href="Grpc.AspNetCore.Server.IGrpcServerBuilder.html">IGrpcServerBuilder</a></h4>
+      <section><p>A builder abstraction for configuring gRPC servers.</p>
+</section>
+      <h4><a class="xref" href="Grpc.AspNetCore.Server.IServerCallContextFeature.html">IServerCallContextFeature</a></h4>
+      <section><p>Provides access to the gRPC server call context for the current HTTP request.</p>
+</section>
+</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>

+ 165 - 0
csharp-dotnet/api/Grpc.Core.AsyncAuthInterceptor.html

@@ -0,0 +1,165 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Delegate AsyncAuthInterceptor
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Delegate AsyncAuthInterceptor
+   | gRPC for .NET ">
+    <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.AsyncAuthInterceptor">
+  
+  
+  <h1 id="Grpc_Core_AsyncAuthInterceptor" data-uid="Grpc.Core.AsyncAuthInterceptor" class="text-break">Delegate AsyncAuthInterceptor
+  </h1>
+  <div class="markdown level0 summary"><p>Asynchronous authentication interceptor for <a class="xref" href="Grpc.Core.CallCredentials.html">CallCredentials</a>.</p>
+</div>
+  <div class="markdown level0 conceptual"></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_AsyncAuthInterceptor_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public delegate Task AsyncAuthInterceptor(AuthInterceptorContext context, Metadata metadata);</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.AuthInterceptorContext.html">AuthInterceptorContext</a></td>
+        <td><span class="parametername">context</span></td>
+        <td><p>The interceptor context.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.Metadata.html">Metadata</a></td>
+        <td><span class="parametername">metadata</span></td>
+        <td><p>Metadata to populate with entries that will be added to outgoing call&apos;s headers.</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><span class="xref">Task</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 377 - 0
csharp-dotnet/api/Grpc.Core.AsyncClientStreamingCall-2.html

@@ -0,0 +1,377 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class AsyncClientStreamingCall&lt;TRequest, TResponse&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class AsyncClientStreamingCall&lt;TRequest, TResponse&gt;
+   | gRPC for .NET ">
+    <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.AsyncClientStreamingCall`2">
+  
+  
+  <h1 id="Grpc_Core_AsyncClientStreamingCall_2" data-uid="Grpc.Core.AsyncClientStreamingCall`2" class="text-break">Class AsyncClientStreamingCall&lt;TRequest, TResponse&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>Return type for client streaming calls.</p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <div class="inheritance">
+    <h5>Inheritance</h5>
+    <div class="level0"><span class="xref">IDisposable</span></div>
+    <div class="level1"><span class="xref">AsyncClientStreamingCall&lt;TRequest, TResponse&gt;</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_AsyncClientStreamingCall_2_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public sealed class AsyncClientStreamingCall&lt;TRequest, TResponse&gt; : IDisposable</code></pre>
+  </div>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>Request message type for this call.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>Response message type for this call.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Core_AsyncClientStreamingCall_2__ctor_" data-uid="Grpc.Core.AsyncClientStreamingCall`2.#ctor*"></a>
+  <h4 id="Grpc_Core_AsyncClientStreamingCall_2__ctor_Grpc_Core_IClientStreamWriter__0__Task__1__Task_Grpc_Core_Metadata__Func_Grpc_Core_Status__Func_Grpc_Core_Metadata__Action_" data-uid="Grpc.Core.AsyncClientStreamingCall`2.#ctor(Grpc.Core.IClientStreamWriter{`0},Task{`1},Task{Grpc.Core.Metadata},Func{Grpc.Core.Status},Func{Grpc.Core.Metadata},Action)">AsyncClientStreamingCall(IClientStreamWriter&lt;TRequest&gt;, Task&lt;TResponse&gt;, Task&lt;Metadata&gt;, Func&lt;Status&gt;, Func&lt;Metadata&gt;, Action)</h4>
+  <div class="markdown level1 summary"><p>Creates a new AsyncClientStreamingCall object with the specified properties.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public AsyncClientStreamingCall(IClientStreamWriter&lt;TRequest&gt; requestStream, Task&lt;TResponse&gt; responseAsync, Task&lt;Metadata&gt; responseHeadersAsync, Func&lt;Status&gt; getStatusFunc, Func&lt;Metadata&gt; getTrailersFunc, Action disposeAction)</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.IClientStreamWriter-1.html">IClientStreamWriter</a>&lt;TRequest&gt;</td>
+        <td><span class="parametername">requestStream</span></td>
+        <td><p>Stream of request values.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Task</span>&lt;TResponse&gt;</td>
+        <td><span class="parametername">responseAsync</span></td>
+        <td><p>The response of the asynchronous call.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Task</span>&lt;<a class="xref" href="Grpc.Core.Metadata.html">Metadata</a>&gt;</td>
+        <td><span class="parametername">responseHeadersAsync</span></td>
+        <td><p>Response headers of the asynchronous call.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Func</span>&lt;<a class="xref" href="Grpc.Core.Status.html">Status</a>&gt;</td>
+        <td><span class="parametername">getStatusFunc</span></td>
+        <td><p>Delegate returning the status of the call.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Func</span>&lt;<a class="xref" href="Grpc.Core.Metadata.html">Metadata</a>&gt;</td>
+        <td><span class="parametername">getTrailersFunc</span></td>
+        <td><p>Delegate returning the trailing metadata of the call.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Action</span></td>
+        <td><span class="parametername">disposeAction</span></td>
+        <td><p>Delegate to invoke when Dispose is called on the call object.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_AsyncClientStreamingCall_2_RequestStream_" data-uid="Grpc.Core.AsyncClientStreamingCall`2.RequestStream*"></a>
+  <h4 id="Grpc_Core_AsyncClientStreamingCall_2_RequestStream" data-uid="Grpc.Core.AsyncClientStreamingCall`2.RequestStream">RequestStream</h4>
+  <div class="markdown level1 summary"><p>Async stream to send streaming requests.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public IClientStreamWriter&lt;TRequest&gt; RequestStream { 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><a class="xref" href="Grpc.Core.IClientStreamWriter-1.html">IClientStreamWriter</a>&lt;TRequest&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_AsyncClientStreamingCall_2_ResponseAsync_" data-uid="Grpc.Core.AsyncClientStreamingCall`2.ResponseAsync*"></a>
+  <h4 id="Grpc_Core_AsyncClientStreamingCall_2_ResponseAsync" data-uid="Grpc.Core.AsyncClientStreamingCall`2.ResponseAsync">ResponseAsync</h4>
+  <div class="markdown level1 summary"><p>Asynchronous call result.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Task&lt;TResponse&gt; ResponseAsync { 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">Task</span>&lt;TResponse&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_AsyncClientStreamingCall_2_ResponseHeadersAsync_" data-uid="Grpc.Core.AsyncClientStreamingCall`2.ResponseHeadersAsync*"></a>
+  <h4 id="Grpc_Core_AsyncClientStreamingCall_2_ResponseHeadersAsync" data-uid="Grpc.Core.AsyncClientStreamingCall`2.ResponseHeadersAsync">ResponseHeadersAsync</h4>
+  <div class="markdown level1 summary"><p>Asynchronous access to response headers.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Task&lt;Metadata&gt; ResponseHeadersAsync { 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">Task</span>&lt;<a class="xref" href="Grpc.Core.Metadata.html">Metadata</a>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_AsyncClientStreamingCall_2_Dispose_" data-uid="Grpc.Core.AsyncClientStreamingCall`2.Dispose*"></a>
+  <h4 id="Grpc_Core_AsyncClientStreamingCall_2_Dispose" data-uid="Grpc.Core.AsyncClientStreamingCall`2.Dispose">Dispose()</h4>
+  <div class="markdown level1 summary"><p>Provides means to cleanup after the call.
+If the call has already finished normally (request stream has been completed and call result has been received), doesn&apos;t do anything.
+Otherwise, requests cancellation of the call which should terminate all pending async operations associated with the call.
+As a result, all resources being used by the call should be released eventually.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public void Dispose()</code></pre>
+  </div>
+  <h5 id="Grpc_Core_AsyncClientStreamingCall_2_Dispose_remarks">Remarks</h5>
+  <div class="markdown level1 remarks"><p>Normally, there is no need for you to dispose the call unless you want to utilize the
+&quot;Cancel&quot; semantics of invoking <code>Dispose</code>.</p>
+</div>
+  <a id="Grpc_Core_AsyncClientStreamingCall_2_GetAwaiter_" data-uid="Grpc.Core.AsyncClientStreamingCall`2.GetAwaiter*"></a>
+  <h4 id="Grpc_Core_AsyncClientStreamingCall_2_GetAwaiter" data-uid="Grpc.Core.AsyncClientStreamingCall`2.GetAwaiter">GetAwaiter()</h4>
+  <div class="markdown level1 summary"><p>Allows awaiting this object directly.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public TaskAwaiter&lt;TResponse&gt; GetAwaiter()</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">TaskAwaiter</span>&lt;TResponse&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_AsyncClientStreamingCall_2_GetStatus_" data-uid="Grpc.Core.AsyncClientStreamingCall`2.GetStatus*"></a>
+  <h4 id="Grpc_Core_AsyncClientStreamingCall_2_GetStatus" data-uid="Grpc.Core.AsyncClientStreamingCall`2.GetStatus">GetStatus()</h4>
+  <div class="markdown level1 summary"><p>Gets the call status if the call has already finished.
+Throws InvalidOperationException otherwise.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Status GetStatus()</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.Status.html">Status</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_AsyncClientStreamingCall_2_GetTrailers_" data-uid="Grpc.Core.AsyncClientStreamingCall`2.GetTrailers*"></a>
+  <h4 id="Grpc_Core_AsyncClientStreamingCall_2_GetTrailers" data-uid="Grpc.Core.AsyncClientStreamingCall`2.GetTrailers">GetTrailers()</h4>
+  <div class="markdown level1 summary"><p>Gets the call trailing metadata if the call has already finished.
+Throws InvalidOperationException otherwise.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Metadata GetTrailers()</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.Metadata.html">Metadata</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 353 - 0
csharp-dotnet/api/Grpc.Core.AsyncDuplexStreamingCall-2.html

@@ -0,0 +1,353 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class AsyncDuplexStreamingCall&lt;TRequest, TResponse&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class AsyncDuplexStreamingCall&lt;TRequest, TResponse&gt;
+   | gRPC for .NET ">
+    <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.AsyncDuplexStreamingCall`2">
+  
+  
+  <h1 id="Grpc_Core_AsyncDuplexStreamingCall_2" data-uid="Grpc.Core.AsyncDuplexStreamingCall`2" class="text-break">Class AsyncDuplexStreamingCall&lt;TRequest, TResponse&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>Return type for bidirectional streaming calls.</p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <div class="inheritance">
+    <h5>Inheritance</h5>
+    <div class="level0"><span class="xref">IDisposable</span></div>
+    <div class="level1"><span class="xref">AsyncDuplexStreamingCall&lt;TRequest, TResponse&gt;</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_AsyncDuplexStreamingCall_2_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public sealed class AsyncDuplexStreamingCall&lt;TRequest, TResponse&gt; : IDisposable</code></pre>
+  </div>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>Request message type for this call.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>Response message type for this call.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Core_AsyncDuplexStreamingCall_2__ctor_" data-uid="Grpc.Core.AsyncDuplexStreamingCall`2.#ctor*"></a>
+  <h4 id="Grpc_Core_AsyncDuplexStreamingCall_2__ctor_Grpc_Core_IClientStreamWriter__0__Grpc_Core_IAsyncStreamReader__1__Task_Grpc_Core_Metadata__Func_Grpc_Core_Status__Func_Grpc_Core_Metadata__Action_" data-uid="Grpc.Core.AsyncDuplexStreamingCall`2.#ctor(Grpc.Core.IClientStreamWriter{`0},Grpc.Core.IAsyncStreamReader{`1},Task{Grpc.Core.Metadata},Func{Grpc.Core.Status},Func{Grpc.Core.Metadata},Action)">AsyncDuplexStreamingCall(IClientStreamWriter&lt;TRequest&gt;, IAsyncStreamReader&lt;TResponse&gt;, Task&lt;Metadata&gt;, Func&lt;Status&gt;, Func&lt;Metadata&gt;, Action)</h4>
+  <div class="markdown level1 summary"><p>Creates a new AsyncDuplexStreamingCall object with the specified properties.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public AsyncDuplexStreamingCall(IClientStreamWriter&lt;TRequest&gt; requestStream, IAsyncStreamReader&lt;TResponse&gt; responseStream, Task&lt;Metadata&gt; responseHeadersAsync, Func&lt;Status&gt; getStatusFunc, Func&lt;Metadata&gt; getTrailersFunc, Action disposeAction)</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.IClientStreamWriter-1.html">IClientStreamWriter</a>&lt;TRequest&gt;</td>
+        <td><span class="parametername">requestStream</span></td>
+        <td><p>Stream of request values.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.IAsyncStreamReader-1.html">IAsyncStreamReader</a>&lt;TResponse&gt;</td>
+        <td><span class="parametername">responseStream</span></td>
+        <td><p>Stream of response values.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Task</span>&lt;<a class="xref" href="Grpc.Core.Metadata.html">Metadata</a>&gt;</td>
+        <td><span class="parametername">responseHeadersAsync</span></td>
+        <td><p>Response headers of the asynchronous call.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Func</span>&lt;<a class="xref" href="Grpc.Core.Status.html">Status</a>&gt;</td>
+        <td><span class="parametername">getStatusFunc</span></td>
+        <td><p>Delegate returning the status of the call.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Func</span>&lt;<a class="xref" href="Grpc.Core.Metadata.html">Metadata</a>&gt;</td>
+        <td><span class="parametername">getTrailersFunc</span></td>
+        <td><p>Delegate returning the trailing metadata of the call.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Action</span></td>
+        <td><span class="parametername">disposeAction</span></td>
+        <td><p>Delegate to invoke when Dispose is called on the call object.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_AsyncDuplexStreamingCall_2_RequestStream_" data-uid="Grpc.Core.AsyncDuplexStreamingCall`2.RequestStream*"></a>
+  <h4 id="Grpc_Core_AsyncDuplexStreamingCall_2_RequestStream" data-uid="Grpc.Core.AsyncDuplexStreamingCall`2.RequestStream">RequestStream</h4>
+  <div class="markdown level1 summary"><p>Async stream to send streaming requests.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public IClientStreamWriter&lt;TRequest&gt; RequestStream { 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><a class="xref" href="Grpc.Core.IClientStreamWriter-1.html">IClientStreamWriter</a>&lt;TRequest&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_AsyncDuplexStreamingCall_2_ResponseHeadersAsync_" data-uid="Grpc.Core.AsyncDuplexStreamingCall`2.ResponseHeadersAsync*"></a>
+  <h4 id="Grpc_Core_AsyncDuplexStreamingCall_2_ResponseHeadersAsync" data-uid="Grpc.Core.AsyncDuplexStreamingCall`2.ResponseHeadersAsync">ResponseHeadersAsync</h4>
+  <div class="markdown level1 summary"><p>Asynchronous access to response headers.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Task&lt;Metadata&gt; ResponseHeadersAsync { 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">Task</span>&lt;<a class="xref" href="Grpc.Core.Metadata.html">Metadata</a>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_AsyncDuplexStreamingCall_2_ResponseStream_" data-uid="Grpc.Core.AsyncDuplexStreamingCall`2.ResponseStream*"></a>
+  <h4 id="Grpc_Core_AsyncDuplexStreamingCall_2_ResponseStream" data-uid="Grpc.Core.AsyncDuplexStreamingCall`2.ResponseStream">ResponseStream</h4>
+  <div class="markdown level1 summary"><p>Async stream to read streaming responses.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public IAsyncStreamReader&lt;TResponse&gt; ResponseStream { 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><a class="xref" href="Grpc.Core.IAsyncStreamReader-1.html">IAsyncStreamReader</a>&lt;TResponse&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_AsyncDuplexStreamingCall_2_Dispose_" data-uid="Grpc.Core.AsyncDuplexStreamingCall`2.Dispose*"></a>
+  <h4 id="Grpc_Core_AsyncDuplexStreamingCall_2_Dispose" data-uid="Grpc.Core.AsyncDuplexStreamingCall`2.Dispose">Dispose()</h4>
+  <div class="markdown level1 summary"><p>Provides means to cleanup after the call.
+If the call has already finished normally (request stream has been completed and response stream has been fully read), doesn&apos;t do anything.
+Otherwise, requests cancellation of the call which should terminate all pending async operations associated with the call.
+As a result, all resources being used by the call should be released eventually.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public void Dispose()</code></pre>
+  </div>
+  <h5 id="Grpc_Core_AsyncDuplexStreamingCall_2_Dispose_remarks">Remarks</h5>
+  <div class="markdown level1 remarks"><p>Normally, there is no need for you to dispose the call unless you want to utilize the
+&quot;Cancel&quot; semantics of invoking <code>Dispose</code>.</p>
+</div>
+  <a id="Grpc_Core_AsyncDuplexStreamingCall_2_GetStatus_" data-uid="Grpc.Core.AsyncDuplexStreamingCall`2.GetStatus*"></a>
+  <h4 id="Grpc_Core_AsyncDuplexStreamingCall_2_GetStatus" data-uid="Grpc.Core.AsyncDuplexStreamingCall`2.GetStatus">GetStatus()</h4>
+  <div class="markdown level1 summary"><p>Gets the call status if the call has already finished.
+Throws InvalidOperationException otherwise.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Status GetStatus()</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.Status.html">Status</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_AsyncDuplexStreamingCall_2_GetTrailers_" data-uid="Grpc.Core.AsyncDuplexStreamingCall`2.GetTrailers*"></a>
+  <h4 id="Grpc_Core_AsyncDuplexStreamingCall_2_GetTrailers" data-uid="Grpc.Core.AsyncDuplexStreamingCall`2.GetTrailers">GetTrailers()</h4>
+  <div class="markdown level1 summary"><p>Gets the call trailing metadata if the call has already finished.
+Throws InvalidOperationException otherwise.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Metadata GetTrailers()</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.Metadata.html">Metadata</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 318 - 0
csharp-dotnet/api/Grpc.Core.AsyncServerStreamingCall-1.html

@@ -0,0 +1,318 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class AsyncServerStreamingCall&lt;TResponse&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class AsyncServerStreamingCall&lt;TResponse&gt;
+   | gRPC for .NET ">
+    <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.AsyncServerStreamingCall`1">
+  
+  
+  <h1 id="Grpc_Core_AsyncServerStreamingCall_1" data-uid="Grpc.Core.AsyncServerStreamingCall`1" class="text-break">Class AsyncServerStreamingCall&lt;TResponse&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>Return type for server streaming calls.</p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <div class="inheritance">
+    <h5>Inheritance</h5>
+    <div class="level0"><span class="xref">IDisposable</span></div>
+    <div class="level1"><span class="xref">AsyncServerStreamingCall&lt;TResponse&gt;</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_AsyncServerStreamingCall_1_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public sealed class AsyncServerStreamingCall&lt;TResponse&gt; : IDisposable</code></pre>
+  </div>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>Response message type for this call.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Core_AsyncServerStreamingCall_1__ctor_" data-uid="Grpc.Core.AsyncServerStreamingCall`1.#ctor*"></a>
+  <h4 id="Grpc_Core_AsyncServerStreamingCall_1__ctor_Grpc_Core_IAsyncStreamReader__0__Task_Grpc_Core_Metadata__Func_Grpc_Core_Status__Func_Grpc_Core_Metadata__Action_" data-uid="Grpc.Core.AsyncServerStreamingCall`1.#ctor(Grpc.Core.IAsyncStreamReader{`0},Task{Grpc.Core.Metadata},Func{Grpc.Core.Status},Func{Grpc.Core.Metadata},Action)">AsyncServerStreamingCall(IAsyncStreamReader&lt;TResponse&gt;, Task&lt;Metadata&gt;, Func&lt;Status&gt;, Func&lt;Metadata&gt;, Action)</h4>
+  <div class="markdown level1 summary"><p>Creates a new AsyncDuplexStreamingCall object with the specified properties.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public AsyncServerStreamingCall(IAsyncStreamReader&lt;TResponse&gt; responseStream, Task&lt;Metadata&gt; responseHeadersAsync, Func&lt;Status&gt; getStatusFunc, Func&lt;Metadata&gt; getTrailersFunc, Action disposeAction)</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.IAsyncStreamReader-1.html">IAsyncStreamReader</a>&lt;TResponse&gt;</td>
+        <td><span class="parametername">responseStream</span></td>
+        <td><p>Stream of response values.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Task</span>&lt;<a class="xref" href="Grpc.Core.Metadata.html">Metadata</a>&gt;</td>
+        <td><span class="parametername">responseHeadersAsync</span></td>
+        <td><p>Response headers of the asynchronous call.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Func</span>&lt;<a class="xref" href="Grpc.Core.Status.html">Status</a>&gt;</td>
+        <td><span class="parametername">getStatusFunc</span></td>
+        <td><p>Delegate returning the status of the call.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Func</span>&lt;<a class="xref" href="Grpc.Core.Metadata.html">Metadata</a>&gt;</td>
+        <td><span class="parametername">getTrailersFunc</span></td>
+        <td><p>Delegate returning the trailing metadata of the call.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Action</span></td>
+        <td><span class="parametername">disposeAction</span></td>
+        <td><p>Delegate to invoke when Dispose is called on the call object.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_AsyncServerStreamingCall_1_ResponseHeadersAsync_" data-uid="Grpc.Core.AsyncServerStreamingCall`1.ResponseHeadersAsync*"></a>
+  <h4 id="Grpc_Core_AsyncServerStreamingCall_1_ResponseHeadersAsync" data-uid="Grpc.Core.AsyncServerStreamingCall`1.ResponseHeadersAsync">ResponseHeadersAsync</h4>
+  <div class="markdown level1 summary"><p>Asynchronous access to response headers.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Task&lt;Metadata&gt; ResponseHeadersAsync { 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">Task</span>&lt;<a class="xref" href="Grpc.Core.Metadata.html">Metadata</a>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_AsyncServerStreamingCall_1_ResponseStream_" data-uid="Grpc.Core.AsyncServerStreamingCall`1.ResponseStream*"></a>
+  <h4 id="Grpc_Core_AsyncServerStreamingCall_1_ResponseStream" data-uid="Grpc.Core.AsyncServerStreamingCall`1.ResponseStream">ResponseStream</h4>
+  <div class="markdown level1 summary"><p>Async stream to read streaming responses.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public IAsyncStreamReader&lt;TResponse&gt; ResponseStream { 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><a class="xref" href="Grpc.Core.IAsyncStreamReader-1.html">IAsyncStreamReader</a>&lt;TResponse&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_AsyncServerStreamingCall_1_Dispose_" data-uid="Grpc.Core.AsyncServerStreamingCall`1.Dispose*"></a>
+  <h4 id="Grpc_Core_AsyncServerStreamingCall_1_Dispose" data-uid="Grpc.Core.AsyncServerStreamingCall`1.Dispose">Dispose()</h4>
+  <div class="markdown level1 summary"><p>Provides means to cleanup after the call.
+If the call has already finished normally (response stream has been fully read), doesn&apos;t do anything.
+Otherwise, requests cancellation of the call which should terminate all pending async operations associated with the call.
+As a result, all resources being used by the call should be released eventually.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public void Dispose()</code></pre>
+  </div>
+  <h5 id="Grpc_Core_AsyncServerStreamingCall_1_Dispose_remarks">Remarks</h5>
+  <div class="markdown level1 remarks"><p>Normally, there is no need for you to dispose the call unless you want to utilize the
+&quot;Cancel&quot; semantics of invoking <code>Dispose</code>.</p>
+</div>
+  <a id="Grpc_Core_AsyncServerStreamingCall_1_GetStatus_" data-uid="Grpc.Core.AsyncServerStreamingCall`1.GetStatus*"></a>
+  <h4 id="Grpc_Core_AsyncServerStreamingCall_1_GetStatus" data-uid="Grpc.Core.AsyncServerStreamingCall`1.GetStatus">GetStatus()</h4>
+  <div class="markdown level1 summary"><p>Gets the call status if the call has already finished.
+Throws InvalidOperationException otherwise.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Status GetStatus()</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.Status.html">Status</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_AsyncServerStreamingCall_1_GetTrailers_" data-uid="Grpc.Core.AsyncServerStreamingCall`1.GetTrailers*"></a>
+  <h4 id="Grpc_Core_AsyncServerStreamingCall_1_GetTrailers" data-uid="Grpc.Core.AsyncServerStreamingCall`1.GetTrailers">GetTrailers()</h4>
+  <div class="markdown level1 summary"><p>Gets the call trailing metadata if the call has already finished.
+Throws InvalidOperationException otherwise.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Metadata GetTrailers()</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.Metadata.html">Metadata</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 194 - 0
csharp-dotnet/api/Grpc.Core.AsyncStreamReaderExtensions.html

@@ -0,0 +1,194 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class AsyncStreamReaderExtensions
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class AsyncStreamReaderExtensions
+   | gRPC for .NET ">
+    <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.AsyncStreamReaderExtensions">
+  
+  
+  <h1 id="Grpc_Core_AsyncStreamReaderExtensions" data-uid="Grpc.Core.AsyncStreamReaderExtensions" class="text-break">Class AsyncStreamReaderExtensions
+  </h1>
+  <div class="markdown level0 summary"><p>Extension methods for <a class="xref" href="Grpc.Core.IAsyncStreamReader-1.html">IAsyncStreamReader&lt;T&gt;</a>.</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">AsyncStreamReaderExtensions</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_AsyncStreamReaderExtensions_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static class AsyncStreamReaderExtensions : object</code></pre>
+  </div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_AsyncStreamReaderExtensions_MoveNext_" data-uid="Grpc.Core.AsyncStreamReaderExtensions.MoveNext*"></a>
+  <h4 id="Grpc_Core_AsyncStreamReaderExtensions_MoveNext__1_Grpc_Core_IAsyncStreamReader___0__" data-uid="Grpc.Core.AsyncStreamReaderExtensions.MoveNext``1(Grpc.Core.IAsyncStreamReader{``0})">MoveNext&lt;T&gt;(IAsyncStreamReader&lt;T&gt;)</h4>
+  <div class="markdown level1 summary"><p>Advances the stream reader to the next element in the sequence, returning the result asynchronously.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static Task&lt;bool&gt; MoveNext&lt;T&gt;(this IAsyncStreamReader&lt;T&gt; streamReader)
+    where T : class</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.IAsyncStreamReader-1.html">IAsyncStreamReader</a>&lt;T&gt;</td>
+        <td><span class="parametername">streamReader</span></td>
+        <td><p>The stream reader.</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><span class="xref">Task</span>&lt;<span class="xref">System.Boolean</span>&gt;</td>
+        <td><p>Task containing the result of the operation: true if the reader was successfully advanced
+to the next element; false if the reader has passed the end of the sequence.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">T</span></td>
+        <td><p>The message type.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 342 - 0
csharp-dotnet/api/Grpc.Core.AsyncUnaryCall-1.html

@@ -0,0 +1,342 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class AsyncUnaryCall&lt;TResponse&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class AsyncUnaryCall&lt;TResponse&gt;
+   | gRPC for .NET ">
+    <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.AsyncUnaryCall`1">
+  
+  
+  <h1 id="Grpc_Core_AsyncUnaryCall_1" data-uid="Grpc.Core.AsyncUnaryCall`1" class="text-break">Class AsyncUnaryCall&lt;TResponse&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>Return type for single request - single response call.</p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <div class="inheritance">
+    <h5>Inheritance</h5>
+    <div class="level0"><span class="xref">IDisposable</span></div>
+    <div class="level1"><span class="xref">AsyncUnaryCall&lt;TResponse&gt;</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_AsyncUnaryCall_1_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public sealed class AsyncUnaryCall&lt;TResponse&gt; : IDisposable</code></pre>
+  </div>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>Response message type for this call.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Core_AsyncUnaryCall_1__ctor_" data-uid="Grpc.Core.AsyncUnaryCall`1.#ctor*"></a>
+  <h4 id="Grpc_Core_AsyncUnaryCall_1__ctor_Task__0__Task_Grpc_Core_Metadata__Func_Grpc_Core_Status__Func_Grpc_Core_Metadata__Action_" data-uid="Grpc.Core.AsyncUnaryCall`1.#ctor(Task{`0},Task{Grpc.Core.Metadata},Func{Grpc.Core.Status},Func{Grpc.Core.Metadata},Action)">AsyncUnaryCall(Task&lt;TResponse&gt;, Task&lt;Metadata&gt;, Func&lt;Status&gt;, Func&lt;Metadata&gt;, Action)</h4>
+  <div class="markdown level1 summary"><p>Creates a new AsyncUnaryCall object with the specified properties.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public AsyncUnaryCall(Task&lt;TResponse&gt; responseAsync, Task&lt;Metadata&gt; responseHeadersAsync, Func&lt;Status&gt; getStatusFunc, Func&lt;Metadata&gt; getTrailersFunc, Action disposeAction)</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">Task</span>&lt;TResponse&gt;</td>
+        <td><span class="parametername">responseAsync</span></td>
+        <td><p>The response of the asynchronous call.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Task</span>&lt;<a class="xref" href="Grpc.Core.Metadata.html">Metadata</a>&gt;</td>
+        <td><span class="parametername">responseHeadersAsync</span></td>
+        <td><p>Response headers of the asynchronous call.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Func</span>&lt;<a class="xref" href="Grpc.Core.Status.html">Status</a>&gt;</td>
+        <td><span class="parametername">getStatusFunc</span></td>
+        <td><p>Delegate returning the status of the call.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Func</span>&lt;<a class="xref" href="Grpc.Core.Metadata.html">Metadata</a>&gt;</td>
+        <td><span class="parametername">getTrailersFunc</span></td>
+        <td><p>Delegate returning the trailing metadata of the call.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Action</span></td>
+        <td><span class="parametername">disposeAction</span></td>
+        <td><p>Delegate to invoke when Dispose is called on the call object.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_AsyncUnaryCall_1_ResponseAsync_" data-uid="Grpc.Core.AsyncUnaryCall`1.ResponseAsync*"></a>
+  <h4 id="Grpc_Core_AsyncUnaryCall_1_ResponseAsync" data-uid="Grpc.Core.AsyncUnaryCall`1.ResponseAsync">ResponseAsync</h4>
+  <div class="markdown level1 summary"><p>Asynchronous call result.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Task&lt;TResponse&gt; ResponseAsync { 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">Task</span>&lt;TResponse&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_AsyncUnaryCall_1_ResponseHeadersAsync_" data-uid="Grpc.Core.AsyncUnaryCall`1.ResponseHeadersAsync*"></a>
+  <h4 id="Grpc_Core_AsyncUnaryCall_1_ResponseHeadersAsync" data-uid="Grpc.Core.AsyncUnaryCall`1.ResponseHeadersAsync">ResponseHeadersAsync</h4>
+  <div class="markdown level1 summary"><p>Asynchronous access to response headers.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Task&lt;Metadata&gt; ResponseHeadersAsync { 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">Task</span>&lt;<a class="xref" href="Grpc.Core.Metadata.html">Metadata</a>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_AsyncUnaryCall_1_Dispose_" data-uid="Grpc.Core.AsyncUnaryCall`1.Dispose*"></a>
+  <h4 id="Grpc_Core_AsyncUnaryCall_1_Dispose" data-uid="Grpc.Core.AsyncUnaryCall`1.Dispose">Dispose()</h4>
+  <div class="markdown level1 summary"><p>Provides means to cleanup after the call.
+If the call has already finished normally (request stream has been completed and call result has been received), doesn&apos;t do anything.
+Otherwise, requests cancellation of the call which should terminate all pending async operations associated with the call.
+As a result, all resources being used by the call should be released eventually.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public void Dispose()</code></pre>
+  </div>
+  <h5 id="Grpc_Core_AsyncUnaryCall_1_Dispose_remarks">Remarks</h5>
+  <div class="markdown level1 remarks"><p>Normally, there is no need for you to dispose the call unless you want to utilize the
+&quot;Cancel&quot; semantics of invoking <code>Dispose</code>.</p>
+</div>
+  <a id="Grpc_Core_AsyncUnaryCall_1_GetAwaiter_" data-uid="Grpc.Core.AsyncUnaryCall`1.GetAwaiter*"></a>
+  <h4 id="Grpc_Core_AsyncUnaryCall_1_GetAwaiter" data-uid="Grpc.Core.AsyncUnaryCall`1.GetAwaiter">GetAwaiter()</h4>
+  <div class="markdown level1 summary"><p>Allows awaiting this object directly.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public TaskAwaiter&lt;TResponse&gt; GetAwaiter()</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">TaskAwaiter</span>&lt;TResponse&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_AsyncUnaryCall_1_GetStatus_" data-uid="Grpc.Core.AsyncUnaryCall`1.GetStatus*"></a>
+  <h4 id="Grpc_Core_AsyncUnaryCall_1_GetStatus" data-uid="Grpc.Core.AsyncUnaryCall`1.GetStatus">GetStatus()</h4>
+  <div class="markdown level1 summary"><p>Gets the call status if the call has already finished.
+Throws InvalidOperationException otherwise.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Status GetStatus()</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.Status.html">Status</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_AsyncUnaryCall_1_GetTrailers_" data-uid="Grpc.Core.AsyncUnaryCall`1.GetTrailers*"></a>
+  <h4 id="Grpc_Core_AsyncUnaryCall_1_GetTrailers" data-uid="Grpc.Core.AsyncUnaryCall`1.GetTrailers">GetTrailers()</h4>
+  <div class="markdown level1 summary"><p>Gets the call trailing metadata if the call has already finished.
+Throws InvalidOperationException otherwise.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Metadata GetTrailers()</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.Metadata.html">Metadata</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 313 - 0
csharp-dotnet/api/Grpc.Core.AuthContext.html

@@ -0,0 +1,313 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class AuthContext
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class AuthContext
+   | gRPC for .NET ">
+    <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.AuthContext">
+  
+  
+  <h1 id="Grpc_Core_AuthContext" data-uid="Grpc.Core.AuthContext" class="text-break">Class AuthContext
+  </h1>
+  <div class="markdown level0 summary"><p>Authentication context for a call.
+AuthContext is the only reliable source of truth when it comes to authenticating calls.
+Using any other call/context properties for authentication purposes is wrong and inherently unsafe.
+Note: experimental API that can change or be removed without any prior notice.</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">AuthContext</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_AuthContext_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public class AuthContext : object</code></pre>
+  </div>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Core_AuthContext__ctor_" data-uid="Grpc.Core.AuthContext.#ctor*"></a>
+  <h4 id="Grpc_Core_AuthContext__ctor_System_String_Dictionary_System_String_List_Grpc_Core_AuthProperty___" data-uid="Grpc.Core.AuthContext.#ctor(System.String,Dictionary{System.String,List{Grpc.Core.AuthProperty}})">AuthContext(String, Dictionary&lt;String, List&lt;AuthProperty&gt;&gt;)</h4>
+  <div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Grpc.Core.AuthContext.html">AuthContext</a> class.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public AuthContext(string peerIdentityPropertyName, Dictionary&lt;string, List&lt;AuthProperty&gt;&gt; properties)</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">peerIdentityPropertyName</span></td>
+        <td><p>Peer identity property name.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Dictionary</span>&lt;<span class="xref">System.String</span>, <span class="xref">List</span>&lt;<a class="xref" href="Grpc.Core.AuthProperty.html">AuthProperty</a>&gt;&gt;</td>
+        <td><span class="parametername">properties</span></td>
+        <td><p>Multimap of auth properties by name.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_AuthContext_IsPeerAuthenticated_" data-uid="Grpc.Core.AuthContext.IsPeerAuthenticated*"></a>
+  <h4 id="Grpc_Core_AuthContext_IsPeerAuthenticated" data-uid="Grpc.Core.AuthContext.IsPeerAuthenticated">IsPeerAuthenticated</h4>
+  <div class="markdown level1 summary"><p>Returns <code>true</code> if the peer is authenticated.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public bool IsPeerAuthenticated { 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.Boolean</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_AuthContext_PeerIdentity_" data-uid="Grpc.Core.AuthContext.PeerIdentity*"></a>
+  <h4 id="Grpc_Core_AuthContext_PeerIdentity" data-uid="Grpc.Core.AuthContext.PeerIdentity">PeerIdentity</h4>
+  <div class="markdown level1 summary"><p>Gets properties that represent the peer identity (there can be more than one). Returns an empty collection
+if the peer is not authenticated.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public IEnumerable&lt;AuthProperty&gt; PeerIdentity { 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">IEnumerable</span>&lt;<a class="xref" href="Grpc.Core.AuthProperty.html">AuthProperty</a>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_AuthContext_PeerIdentityPropertyName_" data-uid="Grpc.Core.AuthContext.PeerIdentityPropertyName*"></a>
+  <h4 id="Grpc_Core_AuthContext_PeerIdentityPropertyName" data-uid="Grpc.Core.AuthContext.PeerIdentityPropertyName">PeerIdentityPropertyName</h4>
+  <div class="markdown level1 summary"><p>Gets the name of the property that indicates the peer identity. Returns <code>null</code>
+if the peer is not authenticated.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public string PeerIdentityPropertyName { 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>
+  <a id="Grpc_Core_AuthContext_Properties_" data-uid="Grpc.Core.AuthContext.Properties*"></a>
+  <h4 id="Grpc_Core_AuthContext_Properties" data-uid="Grpc.Core.AuthContext.Properties">Properties</h4>
+  <div class="markdown level1 summary"><p>Gets the auth properties of this context.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public IEnumerable&lt;AuthProperty&gt; Properties { 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">IEnumerable</span>&lt;<a class="xref" href="Grpc.Core.AuthProperty.html">AuthProperty</a>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_AuthContext_FindPropertiesByName_" data-uid="Grpc.Core.AuthContext.FindPropertiesByName*"></a>
+  <h4 id="Grpc_Core_AuthContext_FindPropertiesByName_System_String_" data-uid="Grpc.Core.AuthContext.FindPropertiesByName(System.String)">FindPropertiesByName(String)</h4>
+  <div class="markdown level1 summary"><p>Returns the auth properties with given name (there can be more than one).
+If no properties of given name exist, an empty collection will be returned.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public IEnumerable&lt;AuthProperty&gt; FindPropertiesByName(string propertyName)</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">propertyName</span></td>
+        <td></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><span class="xref">IEnumerable</span>&lt;<a class="xref" href="Grpc.Core.AuthProperty.html">AuthProperty</a>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 214 - 0
csharp-dotnet/api/Grpc.Core.AuthInterceptorContext.html

@@ -0,0 +1,214 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class AuthInterceptorContext
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class AuthInterceptorContext
+   | gRPC for .NET ">
+    <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.AuthInterceptorContext">
+  
+  
+  <h1 id="Grpc_Core_AuthInterceptorContext" data-uid="Grpc.Core.AuthInterceptorContext" class="text-break">Class AuthInterceptorContext
+  </h1>
+  <div class="markdown level0 summary"><p>Context for an RPC being intercepted by <a class="xref" href="Grpc.Core.AsyncAuthInterceptor.html">AsyncAuthInterceptor</a>.</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">AuthInterceptorContext</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_AuthInterceptorContext_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public class AuthInterceptorContext : object</code></pre>
+  </div>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Core_AuthInterceptorContext__ctor_" data-uid="Grpc.Core.AuthInterceptorContext.#ctor*"></a>
+  <h4 id="Grpc_Core_AuthInterceptorContext__ctor_System_String_System_String_" data-uid="Grpc.Core.AuthInterceptorContext.#ctor(System.String,System.String)">AuthInterceptorContext(String, String)</h4>
+  <div class="markdown level1 summary"><p>Initializes a new instance of <code>AuthInterceptorContext</code>.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public AuthInterceptorContext(string serviceUrl, string methodName)</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">serviceUrl</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.String</span></td>
+        <td><span class="parametername">methodName</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_AuthInterceptorContext_MethodName_" data-uid="Grpc.Core.AuthInterceptorContext.MethodName*"></a>
+  <h4 id="Grpc_Core_AuthInterceptorContext_MethodName" data-uid="Grpc.Core.AuthInterceptorContext.MethodName">MethodName</h4>
+  <div class="markdown level1 summary"><p>The method name of the RPC being called.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public string MethodName { 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>
+  <a id="Grpc_Core_AuthInterceptorContext_ServiceUrl_" data-uid="Grpc.Core.AuthInterceptorContext.ServiceUrl*"></a>
+  <h4 id="Grpc_Core_AuthInterceptorContext_ServiceUrl" data-uid="Grpc.Core.AuthInterceptorContext.ServiceUrl">ServiceUrl</h4>
+  <div class="markdown level1 summary"><p>The fully qualified service URL for the RPC being called.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public string ServiceUrl { 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>
+</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>

+ 256 - 0
csharp-dotnet/api/Grpc.Core.AuthProperty.html

@@ -0,0 +1,256 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class AuthProperty
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class AuthProperty
+   | gRPC for .NET ">
+    <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.AuthProperty">
+  
+  
+  <h1 id="Grpc_Core_AuthProperty" data-uid="Grpc.Core.AuthProperty" class="text-break">Class AuthProperty
+  </h1>
+  <div class="markdown level0 summary"><p>A property of an <a class="xref" href="Grpc.Core.AuthContext.html">AuthContext</a>.
+Note: experimental API that can change or be removed without any prior notice.</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">AuthProperty</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_AuthProperty_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public class AuthProperty : object</code></pre>
+  </div>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_AuthProperty_Name_" data-uid="Grpc.Core.AuthProperty.Name*"></a>
+  <h4 id="Grpc_Core_AuthProperty_Name" data-uid="Grpc.Core.AuthProperty.Name">Name</h4>
+  <div class="markdown level1 summary"><p>Gets the name of the property.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public string Name { 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>
+  <a id="Grpc_Core_AuthProperty_Value_" data-uid="Grpc.Core.AuthProperty.Value*"></a>
+  <h4 id="Grpc_Core_AuthProperty_Value" data-uid="Grpc.Core.AuthProperty.Value">Value</h4>
+  <div class="markdown level1 summary"><p>Gets the string value of the property.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public string Value { 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>
+  <a id="Grpc_Core_AuthProperty_ValueBytes_" data-uid="Grpc.Core.AuthProperty.ValueBytes*"></a>
+  <h4 id="Grpc_Core_AuthProperty_ValueBytes" data-uid="Grpc.Core.AuthProperty.ValueBytes">ValueBytes</h4>
+  <div class="markdown level1 summary"><p>Gets the binary value of the property.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public byte[] ValueBytes { 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.Byte</span>[]</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_AuthProperty_Create_" data-uid="Grpc.Core.AuthProperty.Create*"></a>
+  <h4 id="Grpc_Core_AuthProperty_Create_System_String_System_Byte___" data-uid="Grpc.Core.AuthProperty.Create(System.String,System.Byte[])">Create(String, Byte[])</h4>
+  <div class="markdown level1 summary"><p>Creates an instance of <code>AuthProperty</code>.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static AuthProperty Create(string name, byte[] valueBytes)</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">name</span></td>
+        <td><p>the name</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.Byte</span>[]</td>
+        <td><span class="parametername">valueBytes</span></td>
+        <td><p>the binary value of the property</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.AuthProperty.html">AuthProperty</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 220 - 0
csharp-dotnet/api/Grpc.Core.BindServiceMethodAttribute.html

@@ -0,0 +1,220 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class BindServiceMethodAttribute
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class BindServiceMethodAttribute
+   | gRPC for .NET ">
+    <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.BindServiceMethodAttribute">
+  
+  
+  <h1 id="Grpc_Core_BindServiceMethodAttribute" data-uid="Grpc.Core.BindServiceMethodAttribute" class="text-break">Class BindServiceMethodAttribute
+  </h1>
+  <div class="markdown level0 summary"><p>Specifies the location of the service bind method for a gRPC service.
+The bind method is typically generated code and is used to register a service&apos;s
+methods with the server on startup.</p>
+<p>The bind method signature takes a <a class="xref" href="Grpc.Core.ServiceBinderBase.html">ServiceBinderBase</a> and an optional
+instance of the service base class, e.g. <code>static void BindService(ServiceBinderBase, GreeterService)</code>.</p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <div class="inheritance">
+    <h5>Inheritance</h5>
+    <div class="level0"><span class="xref">Attribute</span></div>
+    <div class="level1"><span class="xref">BindServiceMethodAttribute</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_BindServiceMethodAttribute_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public class BindServiceMethodAttribute : Attribute</code></pre>
+  </div>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Core_BindServiceMethodAttribute__ctor_" data-uid="Grpc.Core.BindServiceMethodAttribute.#ctor*"></a>
+  <h4 id="Grpc_Core_BindServiceMethodAttribute__ctor_Type_System_String_" data-uid="Grpc.Core.BindServiceMethodAttribute.#ctor(Type,System.String)">BindServiceMethodAttribute(Type, String)</h4>
+  <div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Grpc.Core.BindServiceMethodAttribute.html">BindServiceMethodAttribute</a> class.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public BindServiceMethodAttribute(Type bindType, string bindMethodName)</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">Type</span></td>
+        <td><span class="parametername">bindType</span></td>
+        <td><p>The type the service bind method is defined on.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.String</span></td>
+        <td><span class="parametername">bindMethodName</span></td>
+        <td><p>The name of the service bind method.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_BindServiceMethodAttribute_BindMethodName_" data-uid="Grpc.Core.BindServiceMethodAttribute.BindMethodName*"></a>
+  <h4 id="Grpc_Core_BindServiceMethodAttribute_BindMethodName" data-uid="Grpc.Core.BindServiceMethodAttribute.BindMethodName">BindMethodName</h4>
+  <div class="markdown level1 summary"><p>Gets the name of the service bind method.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public string BindMethodName { 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>
+  <a id="Grpc_Core_BindServiceMethodAttribute_BindType_" data-uid="Grpc.Core.BindServiceMethodAttribute.BindType*"></a>
+  <h4 id="Grpc_Core_BindServiceMethodAttribute_BindType" data-uid="Grpc.Core.BindServiceMethodAttribute.BindType">BindType</h4>
+  <div class="markdown level1 summary"><p>Gets the type the service bind method is defined on.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Type BindType { 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">Type</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 252 - 0
csharp-dotnet/api/Grpc.Core.CallCredentials.html

@@ -0,0 +1,252 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class CallCredentials
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class CallCredentials
+   | gRPC for .NET ">
+    <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.CallCredentials">
+  
+  
+  <h1 id="Grpc_Core_CallCredentials" data-uid="Grpc.Core.CallCredentials" class="text-break">Class CallCredentials
+  </h1>
+  <div class="markdown level0 summary"><p>Client-side call credentials. Provide authorization with per-call granularity.</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">CallCredentials</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_CallCredentials_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract class CallCredentials : object</code></pre>
+  </div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_CallCredentials_Compose_" data-uid="Grpc.Core.CallCredentials.Compose*"></a>
+  <h4 id="Grpc_Core_CallCredentials_Compose_Grpc_Core_CallCredentials___" data-uid="Grpc.Core.CallCredentials.Compose(Grpc.Core.CallCredentials[])">Compose(CallCredentials[])</h4>
+  <div class="markdown level1 summary"><p>Composes multiple multiple <code>CallCredentials</code> objects into
+a single <code>CallCredentials</code> object.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static CallCredentials Compose(params CallCredentials[] credentials)</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.CallCredentials.html">CallCredentials</a>[]</td>
+        <td><span class="parametername">credentials</span></td>
+        <td><p>credentials to compose</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.CallCredentials.html">CallCredentials</a></td>
+        <td><p>The new <code>CompositeCallCredentials</code></p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_CallCredentials_FromInterceptor_" data-uid="Grpc.Core.CallCredentials.FromInterceptor*"></a>
+  <h4 id="Grpc_Core_CallCredentials_FromInterceptor_Grpc_Core_AsyncAuthInterceptor_" data-uid="Grpc.Core.CallCredentials.FromInterceptor(Grpc.Core.AsyncAuthInterceptor)">FromInterceptor(AsyncAuthInterceptor)</h4>
+  <div class="markdown level1 summary"><p>Creates a new instance of <code>CallCredentials</code> class from an
+interceptor that can attach metadata to outgoing calls.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static CallCredentials FromInterceptor(AsyncAuthInterceptor 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.AsyncAuthInterceptor.html">AsyncAuthInterceptor</a></td>
+        <td><span class="parametername">interceptor</span></td>
+        <td><p>authentication interceptor</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.CallCredentials.html">CallCredentials</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_CallCredentials_InternalPopulateConfiguration_" data-uid="Grpc.Core.CallCredentials.InternalPopulateConfiguration*"></a>
+  <h4 id="Grpc_Core_CallCredentials_InternalPopulateConfiguration_Grpc_Core_CallCredentialsConfiguratorBase_System_Object_" data-uid="Grpc.Core.CallCredentials.InternalPopulateConfiguration(Grpc.Core.CallCredentialsConfiguratorBase,System.Object)">InternalPopulateConfiguration(CallCredentialsConfiguratorBase, Object)</h4>
+  <div class="markdown level1 summary"><p>Populates call credentials configurator with this instance&apos;s configuration.
+End users never need to invoke this method as it is part of internal implementation.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract void InternalPopulateConfiguration(CallCredentialsConfiguratorBase configurator, object state)</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.CallCredentialsConfiguratorBase.html">CallCredentialsConfiguratorBase</a></td>
+        <td><span class="parametername">configurator</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.Object</span></td>
+        <td><span class="parametername">state</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 196 - 0
csharp-dotnet/api/Grpc.Core.CallCredentialsConfiguratorBase.html

@@ -0,0 +1,196 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class CallCredentialsConfiguratorBase
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class CallCredentialsConfiguratorBase
+   | gRPC for .NET ">
+    <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.CallCredentialsConfiguratorBase">
+  
+  
+  <h1 id="Grpc_Core_CallCredentialsConfiguratorBase" data-uid="Grpc.Core.CallCredentialsConfiguratorBase" class="text-break">Class CallCredentialsConfiguratorBase
+  </h1>
+  <div class="markdown level0 summary"><p>Base class for objects that can consume configuration from <code>CallCredentials</code> objects.
+Note: experimental API that can change or be removed without any prior notice.</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">CallCredentialsConfiguratorBase</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_CallCredentialsConfiguratorBase_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract class CallCredentialsConfiguratorBase : object</code></pre>
+  </div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_CallCredentialsConfiguratorBase_SetAsyncAuthInterceptorCredentials_" data-uid="Grpc.Core.CallCredentialsConfiguratorBase.SetAsyncAuthInterceptorCredentials*"></a>
+  <h4 id="Grpc_Core_CallCredentialsConfiguratorBase_SetAsyncAuthInterceptorCredentials_System_Object_Grpc_Core_AsyncAuthInterceptor_" data-uid="Grpc.Core.CallCredentialsConfiguratorBase.SetAsyncAuthInterceptorCredentials(System.Object,Grpc.Core.AsyncAuthInterceptor)">SetAsyncAuthInterceptorCredentials(Object, AsyncAuthInterceptor)</h4>
+  <div class="markdown level1 summary"><p>Consumes configuration for call credentials created from <code>AsyncAuthInterceptor</code></p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract void SetAsyncAuthInterceptorCredentials(object state, AsyncAuthInterceptor 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><span class="xref">System.Object</span></td>
+        <td><span class="parametername">state</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.AsyncAuthInterceptor.html">AsyncAuthInterceptor</a></td>
+        <td><span class="parametername">interceptor</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_CallCredentialsConfiguratorBase_SetCompositeCredentials_" data-uid="Grpc.Core.CallCredentialsConfiguratorBase.SetCompositeCredentials*"></a>
+  <h4 id="Grpc_Core_CallCredentialsConfiguratorBase_SetCompositeCredentials_System_Object_IReadOnlyList_Grpc_Core_CallCredentials__" data-uid="Grpc.Core.CallCredentialsConfiguratorBase.SetCompositeCredentials(System.Object,IReadOnlyList{Grpc.Core.CallCredentials})">SetCompositeCredentials(Object, IReadOnlyList&lt;CallCredentials&gt;)</h4>
+  <div class="markdown level1 summary"><p>Consumes configuration for composite call credentials.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract void SetCompositeCredentials(object state, IReadOnlyList&lt;CallCredentials&gt; credentials)</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.Object</span></td>
+        <td><span class="parametername">state</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="xref">IReadOnlyList</span>&lt;<a class="xref" href="Grpc.Core.CallCredentials.html">CallCredentials</a>&gt;</td>
+        <td><span class="parametername">credentials</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 517 - 0
csharp-dotnet/api/Grpc.Core.CallInvoker.html

@@ -0,0 +1,517 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class CallInvoker
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class CallInvoker
+   | gRPC for .NET ">
+    <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.CallInvoker">
+  
+  
+  <h1 id="Grpc_Core_CallInvoker" data-uid="Grpc.Core.CallInvoker" class="text-break">Class CallInvoker
+  </h1>
+  <div class="markdown level0 summary"><p>Abstraction of client-side RPC invocation.</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">CallInvoker</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_CallInvoker_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract class CallInvoker : object</code></pre>
+  </div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_CallInvoker_AsyncClientStreamingCall_" data-uid="Grpc.Core.CallInvoker.AsyncClientStreamingCall*"></a>
+  <h4 id="Grpc_Core_CallInvoker_AsyncClientStreamingCall__2_Grpc_Core_Method___0___1__System_String_Grpc_Core_CallOptions_" data-uid="Grpc.Core.CallInvoker.AsyncClientStreamingCall``2(Grpc.Core.Method{``0,``1},System.String,Grpc.Core.CallOptions)">AsyncClientStreamingCall&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt;, String, CallOptions)</h4>
+  <div class="markdown level1 summary"><p>Invokes a client streaming call asynchronously.
+In client streaming scenario, client sends a stream of requests and server responds with a single response.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract AsyncClientStreamingCall&lt;TRequest, TResponse&gt; AsyncClientStreamingCall&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt; method, string host, CallOptions options)
+    where TRequest : class where TResponse : class</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.Method-2.html">Method</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">method</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.String</span></td>
+        <td><span class="parametername">host</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.CallOptions.html">CallOptions</a></td>
+        <td><span class="parametername">options</span></td>
+        <td></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.AsyncClientStreamingCall-2.html">AsyncClientStreamingCall</a>&lt;TRequest, TResponse&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_CallInvoker_AsyncDuplexStreamingCall_" data-uid="Grpc.Core.CallInvoker.AsyncDuplexStreamingCall*"></a>
+  <h4 id="Grpc_Core_CallInvoker_AsyncDuplexStreamingCall__2_Grpc_Core_Method___0___1__System_String_Grpc_Core_CallOptions_" data-uid="Grpc.Core.CallInvoker.AsyncDuplexStreamingCall``2(Grpc.Core.Method{``0,``1},System.String,Grpc.Core.CallOptions)">AsyncDuplexStreamingCall&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt;, String, CallOptions)</h4>
+  <div class="markdown level1 summary"><p>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.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract AsyncDuplexStreamingCall&lt;TRequest, TResponse&gt; AsyncDuplexStreamingCall&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt; method, string host, CallOptions options)
+    where TRequest : class where TResponse : class</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.Method-2.html">Method</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">method</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.String</span></td>
+        <td><span class="parametername">host</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.CallOptions.html">CallOptions</a></td>
+        <td><span class="parametername">options</span></td>
+        <td></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.AsyncDuplexStreamingCall-2.html">AsyncDuplexStreamingCall</a>&lt;TRequest, TResponse&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_CallInvoker_AsyncServerStreamingCall_" data-uid="Grpc.Core.CallInvoker.AsyncServerStreamingCall*"></a>
+  <h4 id="Grpc_Core_CallInvoker_AsyncServerStreamingCall__2_Grpc_Core_Method___0___1__System_String_Grpc_Core_CallOptions___0_" data-uid="Grpc.Core.CallInvoker.AsyncServerStreamingCall``2(Grpc.Core.Method{``0,``1},System.String,Grpc.Core.CallOptions,``0)">AsyncServerStreamingCall&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt;, String, CallOptions, TRequest)</h4>
+  <div class="markdown level1 summary"><p>Invokes a server streaming call asynchronously.
+In server streaming scenario, client sends on request and server responds with a stream of responses.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract AsyncServerStreamingCall&lt;TResponse&gt; AsyncServerStreamingCall&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt; method, string host, CallOptions options, TRequest request)
+    where TRequest : class where TResponse : class</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.Method-2.html">Method</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">method</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.String</span></td>
+        <td><span class="parametername">host</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.CallOptions.html">CallOptions</a></td>
+        <td><span class="parametername">options</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="xref">TRequest</span></td>
+        <td><span class="parametername">request</span></td>
+        <td></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.AsyncServerStreamingCall-1.html">AsyncServerStreamingCall</a>&lt;TResponse&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_CallInvoker_AsyncUnaryCall_" data-uid="Grpc.Core.CallInvoker.AsyncUnaryCall*"></a>
+  <h4 id="Grpc_Core_CallInvoker_AsyncUnaryCall__2_Grpc_Core_Method___0___1__System_String_Grpc_Core_CallOptions___0_" data-uid="Grpc.Core.CallInvoker.AsyncUnaryCall``2(Grpc.Core.Method{``0,``1},System.String,Grpc.Core.CallOptions,``0)">AsyncUnaryCall&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt;, String, CallOptions, TRequest)</h4>
+  <div class="markdown level1 summary"><p>Invokes a simple remote call asynchronously.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract AsyncUnaryCall&lt;TResponse&gt; AsyncUnaryCall&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt; method, string host, CallOptions options, TRequest request)
+    where TRequest : class where TResponse : class</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.Method-2.html">Method</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">method</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.String</span></td>
+        <td><span class="parametername">host</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.CallOptions.html">CallOptions</a></td>
+        <td><span class="parametername">options</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="xref">TRequest</span></td>
+        <td><span class="parametername">request</span></td>
+        <td></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.AsyncUnaryCall-1.html">AsyncUnaryCall</a>&lt;TResponse&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_CallInvoker_BlockingUnaryCall_" data-uid="Grpc.Core.CallInvoker.BlockingUnaryCall*"></a>
+  <h4 id="Grpc_Core_CallInvoker_BlockingUnaryCall__2_Grpc_Core_Method___0___1__System_String_Grpc_Core_CallOptions___0_" data-uid="Grpc.Core.CallInvoker.BlockingUnaryCall``2(Grpc.Core.Method{``0,``1},System.String,Grpc.Core.CallOptions,``0)">BlockingUnaryCall&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt;, String, CallOptions, TRequest)</h4>
+  <div class="markdown level1 summary"><p>Invokes a simple remote call in a blocking fashion.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract TResponse BlockingUnaryCall&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt; method, string host, CallOptions options, TRequest request)
+    where TRequest : class where TResponse : class</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.Method-2.html">Method</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">method</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.String</span></td>
+        <td><span class="parametername">host</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.CallOptions.html">CallOptions</a></td>
+        <td><span class="parametername">options</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="xref">TRequest</span></td>
+        <td><span class="parametername">request</span></td>
+        <td></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><span class="xref">TResponse</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="extensionmethods">Extension Methods</h3>
+  <div>
+      <a class="xref" href="Grpc.Core.Interceptors.CallInvokerExtensions.html#Grpc_Core_Interceptors_CallInvokerExtensions_Intercept_Grpc_Core_CallInvoker_Grpc_Core_Interceptors_Interceptor_">CallInvokerExtensions.Intercept(CallInvoker, Interceptor)</a>
+  </div>
+  <div>
+      <a class="xref" href="Grpc.Core.Interceptors.CallInvokerExtensions.html#Grpc_Core_Interceptors_CallInvokerExtensions_Intercept_Grpc_Core_CallInvoker_Grpc_Core_Interceptors_Interceptor___">CallInvokerExtensions.Intercept(CallInvoker, Interceptor[])</a>
+  </div>
+  <div>
+      <a class="xref" href="Grpc.Core.Interceptors.CallInvokerExtensions.html#Grpc_Core_Interceptors_CallInvokerExtensions_Intercept_Grpc_Core_CallInvoker_Func_Grpc_Core_Metadata_Grpc_Core_Metadata__">CallInvokerExtensions.Intercept(CallInvoker, Func&lt;Metadata, Metadata&gt;)</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>

+ 666 - 0
csharp-dotnet/api/Grpc.Core.CallOptions.html

@@ -0,0 +1,666 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Struct CallOptions
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Struct CallOptions
+   | gRPC for .NET ">
+    <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.CallOptions">
+  
+  
+  <h1 id="Grpc_Core_CallOptions" data-uid="Grpc.Core.CallOptions" class="text-break">Struct CallOptions
+  </h1>
+  <div class="markdown level0 summary"><p>Options for calls made by client.</p>
+</div>
+  <div class="markdown level0 conceptual"></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_CallOptions_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public struct CallOptions</code></pre>
+  </div>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Core_CallOptions__ctor_" data-uid="Grpc.Core.CallOptions.#ctor*"></a>
+  <h4 id="Grpc_Core_CallOptions__ctor_Grpc_Core_Metadata_System_Nullable_DateTime__CancellationToken_Grpc_Core_WriteOptions_Grpc_Core_ContextPropagationToken_Grpc_Core_CallCredentials_" data-uid="Grpc.Core.CallOptions.#ctor(Grpc.Core.Metadata,System.Nullable{DateTime},CancellationToken,Grpc.Core.WriteOptions,Grpc.Core.ContextPropagationToken,Grpc.Core.CallCredentials)">CallOptions(Metadata, Nullable&lt;DateTime&gt;, CancellationToken, WriteOptions, ContextPropagationToken, CallCredentials)</h4>
+  <div class="markdown level1 summary"><p>Creates a new instance of <code>CallOptions</code> struct.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public CallOptions(Metadata headers = null, DateTime? deadline = null, CancellationToken cancellationToken = null, WriteOptions writeOptions = null, ContextPropagationToken propagationToken = null, CallCredentials credentials = null)</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.Metadata.html">Metadata</a></td>
+        <td><span class="parametername">headers</span></td>
+        <td><p>Headers to be sent with the call.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.Nullable</span>&lt;<span class="xref">DateTime</span>&gt;</td>
+        <td><span class="parametername">deadline</span></td>
+        <td><p>Deadline for the call to finish. null means no deadline.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">CancellationToken</span></td>
+        <td><span class="parametername">cancellationToken</span></td>
+        <td><p>Can be used to request cancellation of the call.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.WriteOptions.html">WriteOptions</a></td>
+        <td><span class="parametername">writeOptions</span></td>
+        <td><p>Write options that will be used for this call.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.ContextPropagationToken.html">ContextPropagationToken</a></td>
+        <td><span class="parametername">propagationToken</span></td>
+        <td><p>Context propagation token obtained from <a class="xref" href="Grpc.Core.ServerCallContext.html">ServerCallContext</a>.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.CallCredentials.html">CallCredentials</a></td>
+        <td><span class="parametername">credentials</span></td>
+        <td><p>Credentials to use for this call.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_CallOptions_CancellationToken_" data-uid="Grpc.Core.CallOptions.CancellationToken*"></a>
+  <h4 id="Grpc_Core_CallOptions_CancellationToken" data-uid="Grpc.Core.CallOptions.CancellationToken">CancellationToken</h4>
+  <div class="markdown level1 summary"><p>Token that can be used for cancelling the call on the client side.
+Cancelling the token will request cancellation
+of the remote call. Best effort will be made to deliver the cancellation
+notification to the server and interaction of the call with the server side
+will be terminated. Unless the call finishes before the cancellation could
+happen (there is an inherent race),
+the call will finish with <code>StatusCode.Cancelled</code> status.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public CancellationToken CancellationToken { 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">CancellationToken</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_CallOptions_Credentials_" data-uid="Grpc.Core.CallOptions.Credentials*"></a>
+  <h4 id="Grpc_Core_CallOptions_Credentials" data-uid="Grpc.Core.CallOptions.Credentials">Credentials</h4>
+  <div class="markdown level1 summary"><p>Credentials to use for this call.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public CallCredentials Credentials { 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><a class="xref" href="Grpc.Core.CallCredentials.html">CallCredentials</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_CallOptions_Deadline_" data-uid="Grpc.Core.CallOptions.Deadline*"></a>
+  <h4 id="Grpc_Core_CallOptions_Deadline" data-uid="Grpc.Core.CallOptions.Deadline">Deadline</h4>
+  <div class="markdown level1 summary"><p>Call deadline.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public DateTime? Deadline { 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.Nullable</span>&lt;<span class="xref">DateTime</span>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_CallOptions_Headers_" data-uid="Grpc.Core.CallOptions.Headers*"></a>
+  <h4 id="Grpc_Core_CallOptions_Headers" data-uid="Grpc.Core.CallOptions.Headers">Headers</h4>
+  <div class="markdown level1 summary"><p>Headers to send at the beginning of the call.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Metadata Headers { 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><a class="xref" href="Grpc.Core.Metadata.html">Metadata</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_CallOptions_IsWaitForReady_" data-uid="Grpc.Core.CallOptions.IsWaitForReady*"></a>
+  <h4 id="Grpc_Core_CallOptions_IsWaitForReady" data-uid="Grpc.Core.CallOptions.IsWaitForReady">IsWaitForReady</h4>
+  <div class="markdown level1 summary"><p>If <code>true</code> and and channel is in <code>ChannelState.TransientFailure</code>, the call will attempt waiting for the channel to recover
+instead of failing immediately (which is the default &quot;FailFast&quot; semantics).
+Note: experimental API that can change or be removed without any prior notice.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public bool IsWaitForReady { 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.Boolean</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_CallOptions_PropagationToken_" data-uid="Grpc.Core.CallOptions.PropagationToken*"></a>
+  <h4 id="Grpc_Core_CallOptions_PropagationToken" data-uid="Grpc.Core.CallOptions.PropagationToken">PropagationToken</h4>
+  <div class="markdown level1 summary"><p>Token for propagating parent call context.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public ContextPropagationToken PropagationToken { 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><a class="xref" href="Grpc.Core.ContextPropagationToken.html">ContextPropagationToken</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_CallOptions_WriteOptions_" data-uid="Grpc.Core.CallOptions.WriteOptions*"></a>
+  <h4 id="Grpc_Core_CallOptions_WriteOptions" data-uid="Grpc.Core.CallOptions.WriteOptions">WriteOptions</h4>
+  <div class="markdown level1 summary"><p>Write options that will be used for this call.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public WriteOptions WriteOptions { 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><a class="xref" href="Grpc.Core.WriteOptions.html">WriteOptions</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_CallOptions_WithCancellationToken_" data-uid="Grpc.Core.CallOptions.WithCancellationToken*"></a>
+  <h4 id="Grpc_Core_CallOptions_WithCancellationToken_CancellationToken_" data-uid="Grpc.Core.CallOptions.WithCancellationToken(CancellationToken)">WithCancellationToken(CancellationToken)</h4>
+  <div class="markdown level1 summary"><p>Returns new instance of <a class="xref" href="Grpc.Core.CallOptions.html">CallOptions</a> with
+<code>CancellationToken</code> set to the value provided. Values of all other fields are preserved.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public CallOptions WithCancellationToken(CancellationToken cancellationToken)</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">CancellationToken</span></td>
+        <td><span class="parametername">cancellationToken</span></td>
+        <td><p>The cancellation token.</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.CallOptions.html">CallOptions</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_CallOptions_WithCredentials_" data-uid="Grpc.Core.CallOptions.WithCredentials*"></a>
+  <h4 id="Grpc_Core_CallOptions_WithCredentials_Grpc_Core_CallCredentials_" data-uid="Grpc.Core.CallOptions.WithCredentials(Grpc.Core.CallCredentials)">WithCredentials(CallCredentials)</h4>
+  <div class="markdown level1 summary"><p>Returns new instance of <a class="xref" href="Grpc.Core.CallOptions.html">CallOptions</a> with
+<code>Credentials</code> set to the value provided. Values of all other fields are preserved.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public CallOptions WithCredentials(CallCredentials credentials)</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.CallCredentials.html">CallCredentials</a></td>
+        <td><span class="parametername">credentials</span></td>
+        <td><p>The call credentials.</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.CallOptions.html">CallOptions</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_CallOptions_WithDeadline_" data-uid="Grpc.Core.CallOptions.WithDeadline*"></a>
+  <h4 id="Grpc_Core_CallOptions_WithDeadline_DateTime_" data-uid="Grpc.Core.CallOptions.WithDeadline(DateTime)">WithDeadline(DateTime)</h4>
+  <div class="markdown level1 summary"><p>Returns new instance of <a class="xref" href="Grpc.Core.CallOptions.html">CallOptions</a> with
+<code>Deadline</code> set to the value provided. Values of all other fields are preserved.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public CallOptions WithDeadline(DateTime deadline)</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">DateTime</span></td>
+        <td><span class="parametername">deadline</span></td>
+        <td><p>The deadline.</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.CallOptions.html">CallOptions</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_CallOptions_WithHeaders_" data-uid="Grpc.Core.CallOptions.WithHeaders*"></a>
+  <h4 id="Grpc_Core_CallOptions_WithHeaders_Grpc_Core_Metadata_" data-uid="Grpc.Core.CallOptions.WithHeaders(Grpc.Core.Metadata)">WithHeaders(Metadata)</h4>
+  <div class="markdown level1 summary"><p>Returns new instance of <a class="xref" href="Grpc.Core.CallOptions.html">CallOptions</a> with
+<code>Headers</code> set to the value provided. Values of all other fields are preserved.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public CallOptions WithHeaders(Metadata headers)</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.Metadata.html">Metadata</a></td>
+        <td><span class="parametername">headers</span></td>
+        <td><p>The headers.</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.CallOptions.html">CallOptions</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_CallOptions_WithPropagationToken_" data-uid="Grpc.Core.CallOptions.WithPropagationToken*"></a>
+  <h4 id="Grpc_Core_CallOptions_WithPropagationToken_Grpc_Core_ContextPropagationToken_" data-uid="Grpc.Core.CallOptions.WithPropagationToken(Grpc.Core.ContextPropagationToken)">WithPropagationToken(ContextPropagationToken)</h4>
+  <div class="markdown level1 summary"><p>Returns new instance of <a class="xref" href="Grpc.Core.CallOptions.html">CallOptions</a> with
+<code>PropagationToken</code> set to the value provided. Values of all other fields are preserved.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public CallOptions WithPropagationToken(ContextPropagationToken propagationToken)</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.ContextPropagationToken.html">ContextPropagationToken</a></td>
+        <td><span class="parametername">propagationToken</span></td>
+        <td><p>The context propagation token.</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.CallOptions.html">CallOptions</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_CallOptions_WithWaitForReady_" data-uid="Grpc.Core.CallOptions.WithWaitForReady*"></a>
+  <h4 id="Grpc_Core_CallOptions_WithWaitForReady_System_Boolean_" data-uid="Grpc.Core.CallOptions.WithWaitForReady(System.Boolean)">WithWaitForReady(Boolean)</h4>
+  <div class="markdown level1 summary"><p>Returns new instance of <a class="xref" href="Grpc.Core.CallOptions.html">CallOptions</a> with &quot;WaitForReady&quot; semantics enabled/disabled.
+<a class="xref" href="Grpc.Core.CallOptions.html#Grpc_Core_CallOptions_IsWaitForReady">IsWaitForReady</a>.
+Note: experimental API that can change or be removed without any prior notice.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public CallOptions WithWaitForReady(bool waitForReady = true)</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.Boolean</span></td>
+        <td><span class="parametername">waitForReady</span></td>
+        <td></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.CallOptions.html">CallOptions</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_CallOptions_WithWriteOptions_" data-uid="Grpc.Core.CallOptions.WithWriteOptions*"></a>
+  <h4 id="Grpc_Core_CallOptions_WithWriteOptions_Grpc_Core_WriteOptions_" data-uid="Grpc.Core.CallOptions.WithWriteOptions(Grpc.Core.WriteOptions)">WithWriteOptions(WriteOptions)</h4>
+  <div class="markdown level1 summary"><p>Returns new instance of <a class="xref" href="Grpc.Core.CallOptions.html">CallOptions</a> with
+<code>WriteOptions</code> set to the value provided. Values of all other fields are preserved.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public CallOptions WithWriteOptions(WriteOptions writeOptions)</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.WriteOptions.html">WriteOptions</a></td>
+        <td><span class="parametername">writeOptions</span></td>
+        <td><p>The write options.</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.CallOptions.html">CallOptions</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 223 - 0
csharp-dotnet/api/Grpc.Core.ChannelBase.html

@@ -0,0 +1,223 @@
+<!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 for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class ChannelBase
+   | gRPC for .NET ">
+    <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>
+  <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 : object</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>
+  <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_Func_Grpc_Core_Metadata_Grpc_Core_Metadata__">ChannelExtensions.Intercept(ChannelBase, Func&lt;Metadata, Metadata&gt;)</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>

+ 254 - 0
csharp-dotnet/api/Grpc.Core.ChannelCredentials.html

@@ -0,0 +1,254 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class ChannelCredentials
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class ChannelCredentials
+   | gRPC for .NET ">
+    <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.ChannelCredentials">
+  
+  
+  <h1 id="Grpc_Core_ChannelCredentials" data-uid="Grpc.Core.ChannelCredentials" class="text-break">Class ChannelCredentials
+  </h1>
+  <div class="markdown level0 summary"><p>Client-side channel credentials. Used for creation of a secure channel.</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">ChannelCredentials</span></div>
+      <div class="level2"><a class="xref" href="Grpc.Core.SslCredentials.html">SslCredentials</a></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_ChannelCredentials_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract class ChannelCredentials : object</code></pre>
+  </div>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Core_ChannelCredentials__ctor_" data-uid="Grpc.Core.ChannelCredentials.#ctor*"></a>
+  <h4 id="Grpc_Core_ChannelCredentials__ctor" data-uid="Grpc.Core.ChannelCredentials.#ctor">ChannelCredentials()</h4>
+  <div class="markdown level1 summary"><p>Creates a new instance of channel credentials</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public ChannelCredentials()</code></pre>
+  </div>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_ChannelCredentials_Insecure_" data-uid="Grpc.Core.ChannelCredentials.Insecure*"></a>
+  <h4 id="Grpc_Core_ChannelCredentials_Insecure" data-uid="Grpc.Core.ChannelCredentials.Insecure">Insecure</h4>
+  <div class="markdown level1 summary"><p>Returns instance of credentials that provides no security and 
+will result in creating an unsecure channel with no encryption whatsoever.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static ChannelCredentials Insecure { 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><a class="xref" href="Grpc.Core.ChannelCredentials.html">ChannelCredentials</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_ChannelCredentials_Create_" data-uid="Grpc.Core.ChannelCredentials.Create*"></a>
+  <h4 id="Grpc_Core_ChannelCredentials_Create_Grpc_Core_ChannelCredentials_Grpc_Core_CallCredentials_" data-uid="Grpc.Core.ChannelCredentials.Create(Grpc.Core.ChannelCredentials,Grpc.Core.CallCredentials)">Create(ChannelCredentials, CallCredentials)</h4>
+  <div class="markdown level1 summary"><p>Creates a new instance of <code>ChannelCredentials</code> class by composing
+given channel credentials with call credentials.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static ChannelCredentials Create(ChannelCredentials channelCredentials, CallCredentials callCredentials)</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.ChannelCredentials.html">ChannelCredentials</a></td>
+        <td><span class="parametername">channelCredentials</span></td>
+        <td><p>Channel credentials.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.CallCredentials.html">CallCredentials</a></td>
+        <td><span class="parametername">callCredentials</span></td>
+        <td><p>Call credentials.</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.ChannelCredentials.html">ChannelCredentials</a></td>
+        <td><p>The new composite <code>ChannelCredentials</code></p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ChannelCredentials_InternalPopulateConfiguration_" data-uid="Grpc.Core.ChannelCredentials.InternalPopulateConfiguration*"></a>
+  <h4 id="Grpc_Core_ChannelCredentials_InternalPopulateConfiguration_Grpc_Core_ChannelCredentialsConfiguratorBase_System_Object_" data-uid="Grpc.Core.ChannelCredentials.InternalPopulateConfiguration(Grpc.Core.ChannelCredentialsConfiguratorBase,System.Object)">InternalPopulateConfiguration(ChannelCredentialsConfiguratorBase, Object)</h4>
+  <div class="markdown level1 summary"><p>Populates channel credentials configurator with this instance&apos;s configuration.
+End users never need to invoke this method as it is part of internal implementation.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract void InternalPopulateConfiguration(ChannelCredentialsConfiguratorBase configurator, object state)</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.ChannelCredentialsConfiguratorBase.html">ChannelCredentialsConfiguratorBase</a></td>
+        <td><span class="parametername">configurator</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.Object</span></td>
+        <td><span class="parametername">state</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 237 - 0
csharp-dotnet/api/Grpc.Core.ChannelCredentialsConfiguratorBase.html

@@ -0,0 +1,237 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class ChannelCredentialsConfiguratorBase
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class ChannelCredentialsConfiguratorBase
+   | gRPC for .NET ">
+    <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.ChannelCredentialsConfiguratorBase">
+  
+  
+  <h1 id="Grpc_Core_ChannelCredentialsConfiguratorBase" data-uid="Grpc.Core.ChannelCredentialsConfiguratorBase" class="text-break">Class ChannelCredentialsConfiguratorBase
+  </h1>
+  <div class="markdown level0 summary"><p>Base class for objects that can consume configuration from <code>CallCredentials</code> objects.
+Note: experimental API that can change or be removed without any prior notice.</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">ChannelCredentialsConfiguratorBase</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_ChannelCredentialsConfiguratorBase_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract class ChannelCredentialsConfiguratorBase : object</code></pre>
+  </div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_ChannelCredentialsConfiguratorBase_SetCompositeCredentials_" data-uid="Grpc.Core.ChannelCredentialsConfiguratorBase.SetCompositeCredentials*"></a>
+  <h4 id="Grpc_Core_ChannelCredentialsConfiguratorBase_SetCompositeCredentials_System_Object_Grpc_Core_ChannelCredentials_Grpc_Core_CallCredentials_" data-uid="Grpc.Core.ChannelCredentialsConfiguratorBase.SetCompositeCredentials(System.Object,Grpc.Core.ChannelCredentials,Grpc.Core.CallCredentials)">SetCompositeCredentials(Object, ChannelCredentials, CallCredentials)</h4>
+  <div class="markdown level1 summary"><p>Configures the credentials to use composite channel credentials (a composite of channel credentials and call credentials).</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract void SetCompositeCredentials(object state, ChannelCredentials channelCredentials, CallCredentials callCredentials)</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.Object</span></td>
+        <td><span class="parametername">state</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.ChannelCredentials.html">ChannelCredentials</a></td>
+        <td><span class="parametername">channelCredentials</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.CallCredentials.html">CallCredentials</a></td>
+        <td><span class="parametername">callCredentials</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ChannelCredentialsConfiguratorBase_SetInsecureCredentials_" data-uid="Grpc.Core.ChannelCredentialsConfiguratorBase.SetInsecureCredentials*"></a>
+  <h4 id="Grpc_Core_ChannelCredentialsConfiguratorBase_SetInsecureCredentials_System_Object_" data-uid="Grpc.Core.ChannelCredentialsConfiguratorBase.SetInsecureCredentials(System.Object)">SetInsecureCredentials(Object)</h4>
+  <div class="markdown level1 summary"><p>Configures the credentials to use insecure credentials.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract void SetInsecureCredentials(object state)</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.Object</span></td>
+        <td><span class="parametername">state</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ChannelCredentialsConfiguratorBase_SetSslCredentials_" data-uid="Grpc.Core.ChannelCredentialsConfiguratorBase.SetSslCredentials*"></a>
+  <h4 id="Grpc_Core_ChannelCredentialsConfiguratorBase_SetSslCredentials_System_Object_System_String_Grpc_Core_KeyCertificatePair_Grpc_Core_VerifyPeerCallback_" data-uid="Grpc.Core.ChannelCredentialsConfiguratorBase.SetSslCredentials(System.Object,System.String,Grpc.Core.KeyCertificatePair,Grpc.Core.VerifyPeerCallback)">SetSslCredentials(Object, String, KeyCertificatePair, VerifyPeerCallback)</h4>
+  <div class="markdown level1 summary"><p>Configures the credentials to use <code>SslCredentials</code>.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract void SetSslCredentials(object state, string rootCertificates, KeyCertificatePair keyCertificatePair, VerifyPeerCallback verifyPeerCallback)</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.Object</span></td>
+        <td><span class="parametername">state</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.String</span></td>
+        <td><span class="parametername">rootCertificates</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.KeyCertificatePair.html">KeyCertificatePair</a></td>
+        <td><span class="parametername">keyCertificatePair</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.VerifyPeerCallback.html">VerifyPeerCallback</a></td>
+        <td><span class="parametername">verifyPeerCallback</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 335 - 0
csharp-dotnet/api/Grpc.Core.ClientBase-1.html

@@ -0,0 +1,335 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class ClientBase&lt;T&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class ClientBase&lt;T&gt;
+   | gRPC for .NET ">
+    <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.ClientBase`1">
+  
+  
+  <h1 id="Grpc_Core_ClientBase_1" data-uid="Grpc.Core.ClientBase`1" class="text-break">Class ClientBase&lt;T&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>Generic base class for client-side stubs.</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"><a class="xref" href="Grpc.Core.ClientBase.html">ClientBase</a></div>
+    <div class="level2"><span class="xref">ClientBase&lt;T&gt;</span></div>
+  </div>
+  <div class="inheritedMembers">
+    <h5>Inherited Members</h5>
+    <div>
+      <a class="xref" href="Grpc.Core.ClientBase.html#Grpc_Core_ClientBase_CallInvoker">ClientBase.CallInvoker</a>
+    </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_ClientBase_1_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract class ClientBase&lt;T&gt; : ClientBase where T : ClientBase&lt;T&gt;</code></pre>
+  </div>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">T</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Core_ClientBase_1__ctor_" data-uid="Grpc.Core.ClientBase`1.#ctor*"></a>
+  <h4 id="Grpc_Core_ClientBase_1__ctor" data-uid="Grpc.Core.ClientBase`1.#ctor">ClientBase()</h4>
+  <div class="markdown level1 summary"><p>Initializes a new instance of <code>ClientBase</code> class that
+throws <code>NotImplementedException</code> upon invocation of any RPC.
+This constructor is only provided to allow creation of test doubles
+for client classes (e.g. mocking requires a parameterless constructor).</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">protected ClientBase()</code></pre>
+  </div>
+  <a id="Grpc_Core_ClientBase_1__ctor_" data-uid="Grpc.Core.ClientBase`1.#ctor*"></a>
+  <h4 id="Grpc_Core_ClientBase_1__ctor_Grpc_Core_CallInvoker_" data-uid="Grpc.Core.ClientBase`1.#ctor(Grpc.Core.CallInvoker)">ClientBase(CallInvoker)</h4>
+  <div class="markdown level1 summary"><p>Initializes a new instance of <code>ClientBase</code> class.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public ClientBase(CallInvoker callInvoker)</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.CallInvoker.html">CallInvoker</a></td>
+        <td><span class="parametername">callInvoker</span></td>
+        <td><p>The <code>CallInvoker</code> for remote call invocation.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ClientBase_1__ctor_" data-uid="Grpc.Core.ClientBase`1.#ctor*"></a>
+  <h4 id="Grpc_Core_ClientBase_1__ctor_Grpc_Core_ChannelBase_" data-uid="Grpc.Core.ClientBase`1.#ctor(Grpc.Core.ChannelBase)">ClientBase(ChannelBase)</h4>
+  <div class="markdown level1 summary"><p>Initializes a new instance of <code>ClientBase</code> class.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public ClientBase(ChannelBase channel)</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.ChannelBase.html">ChannelBase</a></td>
+        <td><span class="parametername">channel</span></td>
+        <td><p>The channel to use for remote call invocation.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ClientBase_1__ctor_" data-uid="Grpc.Core.ClientBase`1.#ctor*"></a>
+  <h4 id="Grpc_Core_ClientBase_1__ctor_Grpc_Core_ClientBase_ClientBaseConfiguration_" data-uid="Grpc.Core.ClientBase`1.#ctor(Grpc.Core.ClientBase.ClientBaseConfiguration)">ClientBase(ClientBase.ClientBaseConfiguration)</h4>
+  <div class="markdown level1 summary"><p>Initializes a new instance of <code>ClientBase</code> class.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">protected ClientBase(ClientBase.ClientBaseConfiguration configuration)</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.ClientBase.ClientBaseConfiguration.html">ClientBase.ClientBaseConfiguration</a></td>
+        <td><span class="parametername">configuration</span></td>
+        <td><p>The configuration.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_ClientBase_1_NewInstance_" data-uid="Grpc.Core.ClientBase`1.NewInstance*"></a>
+  <h4 id="Grpc_Core_ClientBase_1_NewInstance_Grpc_Core_ClientBase_ClientBaseConfiguration_" data-uid="Grpc.Core.ClientBase`1.NewInstance(Grpc.Core.ClientBase.ClientBaseConfiguration)">NewInstance(ClientBase.ClientBaseConfiguration)</h4>
+  <div class="markdown level1 summary"><p>Creates a new instance of client from given <code>ClientBaseConfiguration</code>.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">protected abstract T NewInstance(ClientBase.ClientBaseConfiguration configuration)</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.ClientBase.ClientBaseConfiguration.html">ClientBase.ClientBaseConfiguration</a></td>
+        <td><span class="parametername">configuration</span></td>
+        <td></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><span class="xref">T</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ClientBase_1_WithHost_" data-uid="Grpc.Core.ClientBase`1.WithHost*"></a>
+  <h4 id="Grpc_Core_ClientBase_1_WithHost_System_String_" data-uid="Grpc.Core.ClientBase`1.WithHost(System.String)">WithHost(String)</h4>
+  <div class="markdown level1 summary"><p>Creates a new client that sets host field for calls explicitly.
+gRPC supports multiple &quot;hosts&quot; being served by a single server.
+By default (if a client was not created by calling this method),
+host <code>null</code> with the meaning &quot;use default host&quot; is used.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public T WithHost(string host)</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">host</span></td>
+        <td></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><span class="xref">T</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 134 - 0
csharp-dotnet/api/Grpc.Core.ClientBase.ClientBaseConfiguration.html

@@ -0,0 +1,134 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class ClientBase.ClientBaseConfiguration
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class ClientBase.ClientBaseConfiguration
+   | gRPC for .NET ">
+    <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.ClientBase.ClientBaseConfiguration">
+  
+  
+  <h1 id="Grpc_Core_ClientBase_ClientBaseConfiguration" data-uid="Grpc.Core.ClientBase.ClientBaseConfiguration" class="text-break">Class ClientBase.ClientBaseConfiguration
+  </h1>
+  <div class="markdown level0 summary"><p>Represents configuration of ClientBase. The class itself is visible to
+subclasses, but contents are marked as internal to make the instances opaque.
+The verbose name of this class was chosen to make name clash in generated code 
+less likely.</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">ClientBase.ClientBaseConfiguration</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_ClientBase_ClientBaseConfiguration_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">protected class ClientBaseConfiguration : object</code></pre>
+  </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>

+ 253 - 0
csharp-dotnet/api/Grpc.Core.ClientBase.html

@@ -0,0 +1,253 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class ClientBase
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class ClientBase
+   | gRPC for .NET ">
+    <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.ClientBase">
+  
+  
+  <h1 id="Grpc_Core_ClientBase" data-uid="Grpc.Core.ClientBase" class="text-break">Class ClientBase
+  </h1>
+  <div class="markdown level0 summary"><p>Base class for client-side stubs.</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">ClientBase</span></div>
+      <div class="level2"><a class="xref" href="Grpc.Core.ClientBase-1.html">ClientBase&lt;T&gt;</a></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_ClientBase_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract class ClientBase : object</code></pre>
+  </div>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Core_ClientBase__ctor_" data-uid="Grpc.Core.ClientBase.#ctor*"></a>
+  <h4 id="Grpc_Core_ClientBase__ctor" data-uid="Grpc.Core.ClientBase.#ctor">ClientBase()</h4>
+  <div class="markdown level1 summary"><p>Initializes a new instance of <code>ClientBase</code> class that
+throws <code>NotImplementedException</code> upon invocation of any RPC.
+This constructor is only provided to allow creation of test doubles
+for client classes (e.g. mocking requires a parameterless constructor).</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">protected ClientBase()</code></pre>
+  </div>
+  <a id="Grpc_Core_ClientBase__ctor_" data-uid="Grpc.Core.ClientBase.#ctor*"></a>
+  <h4 id="Grpc_Core_ClientBase__ctor_Grpc_Core_CallInvoker_" data-uid="Grpc.Core.ClientBase.#ctor(Grpc.Core.CallInvoker)">ClientBase(CallInvoker)</h4>
+  <div class="markdown level1 summary"><p>Initializes a new instance of <code>ClientBase</code> class.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public ClientBase(CallInvoker callInvoker)</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.CallInvoker.html">CallInvoker</a></td>
+        <td><span class="parametername">callInvoker</span></td>
+        <td><p>The <code>CallInvoker</code> for remote call invocation.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ClientBase__ctor_" data-uid="Grpc.Core.ClientBase.#ctor*"></a>
+  <h4 id="Grpc_Core_ClientBase__ctor_Grpc_Core_ChannelBase_" data-uid="Grpc.Core.ClientBase.#ctor(Grpc.Core.ChannelBase)">ClientBase(ChannelBase)</h4>
+  <div class="markdown level1 summary"><p>Initializes a new instance of <code>ClientBase</code> class.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public ClientBase(ChannelBase channel)</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.ChannelBase.html">ChannelBase</a></td>
+        <td><span class="parametername">channel</span></td>
+        <td><p>The channel to use for remote call invocation.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ClientBase__ctor_" data-uid="Grpc.Core.ClientBase.#ctor*"></a>
+  <h4 id="Grpc_Core_ClientBase__ctor_Grpc_Core_ClientBase_ClientBaseConfiguration_" data-uid="Grpc.Core.ClientBase.#ctor(Grpc.Core.ClientBase.ClientBaseConfiguration)">ClientBase(ClientBase.ClientBaseConfiguration)</h4>
+  <div class="markdown level1 summary"><p>Initializes a new instance of <code>ClientBase</code> class.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">protected ClientBase(ClientBase.ClientBaseConfiguration configuration)</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.ClientBase.ClientBaseConfiguration.html">ClientBase.ClientBaseConfiguration</a></td>
+        <td><span class="parametername">configuration</span></td>
+        <td><p>The configuration.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_ClientBase_CallInvoker_" data-uid="Grpc.Core.ClientBase.CallInvoker*"></a>
+  <h4 id="Grpc_Core_ClientBase_CallInvoker" data-uid="Grpc.Core.ClientBase.CallInvoker">CallInvoker</h4>
+  <div class="markdown level1 summary"><p>Gets the call invoker.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">protected CallInvoker CallInvoker { 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><a class="xref" href="Grpc.Core.CallInvoker.html">CallInvoker</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 185 - 0
csharp-dotnet/api/Grpc.Core.ClientStreamingServerMethod-2.html

@@ -0,0 +1,185 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Delegate ClientStreamingServerMethod&lt;TRequest, TResponse&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Delegate ClientStreamingServerMethod&lt;TRequest, TResponse&gt;
+   | gRPC for .NET ">
+    <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.ClientStreamingServerMethod`2">
+  
+  
+  <h1 id="Grpc_Core_ClientStreamingServerMethod_2" data-uid="Grpc.Core.ClientStreamingServerMethod`2" class="text-break">Delegate ClientStreamingServerMethod&lt;TRequest, TResponse&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>Server-side handler for client streaming call.</p>
+</div>
+  <div class="markdown level0 conceptual"></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_ClientStreamingServerMethod_2_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public delegate Task&lt;TResponse&gt; ClientStreamingServerMethod&lt;TRequest, TResponse&gt;(IAsyncStreamReader&lt;TRequest&gt; requestStream, ServerCallContext context)
+    where TRequest : class where TResponse : class;</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.IAsyncStreamReader-1.html">IAsyncStreamReader</a>&lt;TRequest&gt;</td>
+        <td><span class="parametername">requestStream</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.ServerCallContext.html">ServerCallContext</a></td>
+        <td><span class="parametername">context</span></td>
+        <td></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><span class="xref">Task</span>&lt;TResponse&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>Request message type for this method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>Response message type for this method.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 241 - 0
csharp-dotnet/api/Grpc.Core.ContextPropagationOptions.html

@@ -0,0 +1,241 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class ContextPropagationOptions
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class ContextPropagationOptions
+   | gRPC for .NET ">
+    <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.ContextPropagationOptions">
+  
+  
+  <h1 id="Grpc_Core_ContextPropagationOptions" data-uid="Grpc.Core.ContextPropagationOptions" class="text-break">Class ContextPropagationOptions
+  </h1>
+  <div class="markdown level0 summary"><p>Options for <a class="xref" href="Grpc.Core.ContextPropagationToken.html">ContextPropagationToken</a>.</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">ContextPropagationOptions</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_ContextPropagationOptions_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public class ContextPropagationOptions : object</code></pre>
+  </div>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Core_ContextPropagationOptions__ctor_" data-uid="Grpc.Core.ContextPropagationOptions.#ctor*"></a>
+  <h4 id="Grpc_Core_ContextPropagationOptions__ctor_System_Boolean_System_Boolean_" data-uid="Grpc.Core.ContextPropagationOptions.#ctor(System.Boolean,System.Boolean)">ContextPropagationOptions(Boolean, Boolean)</h4>
+  <div class="markdown level1 summary"><p>Creates new context propagation options.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public ContextPropagationOptions(bool propagateDeadline = true, bool propagateCancellation = true)</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.Boolean</span></td>
+        <td><span class="parametername">propagateDeadline</span></td>
+        <td><p>If set to <code>true</code> parent call&apos;s deadline will be propagated to the child call.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.Boolean</span></td>
+        <td><span class="parametername">propagateCancellation</span></td>
+        <td><p>If set to <code>true</code> parent call&apos;s cancellation token will be propagated to the child call.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="fields">Fields
+  </h3>
+  <h4 id="Grpc_Core_ContextPropagationOptions_Default" data-uid="Grpc.Core.ContextPropagationOptions.Default">Default</h4>
+  <div class="markdown level1 summary"><p>The context propagation options that will be used by default.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static readonly ContextPropagationOptions Default</code></pre>
+  </div>
+  <h5 class="fieldValue">Field Value</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.ContextPropagationOptions.html">ContextPropagationOptions</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_ContextPropagationOptions_IsPropagateCancellation_" data-uid="Grpc.Core.ContextPropagationOptions.IsPropagateCancellation*"></a>
+  <h4 id="Grpc_Core_ContextPropagationOptions_IsPropagateCancellation" data-uid="Grpc.Core.ContextPropagationOptions.IsPropagateCancellation">IsPropagateCancellation</h4>
+  <div class="markdown level1 summary"><p><code>true</code> if parent call&apos;s cancellation token should be propagated to the child call.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public bool IsPropagateCancellation { 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.Boolean</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ContextPropagationOptions_IsPropagateDeadline_" data-uid="Grpc.Core.ContextPropagationOptions.IsPropagateDeadline*"></a>
+  <h4 id="Grpc_Core_ContextPropagationOptions_IsPropagateDeadline" data-uid="Grpc.Core.ContextPropagationOptions.IsPropagateDeadline">IsPropagateDeadline</h4>
+  <div class="markdown level1 summary"><p><code>true</code> if parent call&apos;s deadline should be propagated to the child call.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public bool IsPropagateDeadline { 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.Boolean</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 136 - 0
csharp-dotnet/api/Grpc.Core.ContextPropagationToken.html

@@ -0,0 +1,136 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class ContextPropagationToken
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class ContextPropagationToken
+   | gRPC for .NET ">
+    <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.ContextPropagationToken">
+  
+  
+  <h1 id="Grpc_Core_ContextPropagationToken" data-uid="Grpc.Core.ContextPropagationToken" class="text-break">Class ContextPropagationToken
+  </h1>
+  <div class="markdown level0 summary"><p>Token for propagating context of server side handlers to child calls.
+In situations when a backend is making calls to another backend,
+it makes sense to propagate properties like deadline and cancellation 
+token of the server call to the child call.
+Underlying gRPC implementation may provide other &quot;opaque&quot; contexts (like tracing context) that
+are not explicitly accesible via the public C# API, but this token still allows propagating them.</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">ContextPropagationToken</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_ContextPropagationToken_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract class ContextPropagationToken : object</code></pre>
+  </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>

+ 224 - 0
csharp-dotnet/api/Grpc.Core.DeserializationContext.html

@@ -0,0 +1,224 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class DeserializationContext
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class DeserializationContext
+   | gRPC for .NET ">
+    <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.DeserializationContext">
+  
+  
+  <h1 id="Grpc_Core_DeserializationContext" data-uid="Grpc.Core.DeserializationContext" class="text-break">Class DeserializationContext
+  </h1>
+  <div class="markdown level0 summary"><p>Provides access to the payload being deserialized when deserializing messages.</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">DeserializationContext</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_DeserializationContext_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract class DeserializationContext : object</code></pre>
+  </div>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_DeserializationContext_PayloadLength_" data-uid="Grpc.Core.DeserializationContext.PayloadLength*"></a>
+  <h4 id="Grpc_Core_DeserializationContext_PayloadLength" data-uid="Grpc.Core.DeserializationContext.PayloadLength">PayloadLength</h4>
+  <div class="markdown level1 summary"><p>Get the total length of the payload in bytes.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract int PayloadLength { 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.Int32</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_DeserializationContext_PayloadAsNewBuffer_" data-uid="Grpc.Core.DeserializationContext.PayloadAsNewBuffer*"></a>
+  <h4 id="Grpc_Core_DeserializationContext_PayloadAsNewBuffer" data-uid="Grpc.Core.DeserializationContext.PayloadAsNewBuffer">PayloadAsNewBuffer()</h4>
+  <div class="markdown level1 summary"><p>Gets the entire payload as a newly allocated byte array.
+Once the byte array is returned, the byte array becomes owned by the caller and won&apos;t be ever accessed or reused by gRPC again.
+NOTE: Obtaining the buffer as a newly allocated byte array is the simplest way of accessing the payload,
+but it can have important consequences in high-performance scenarios.
+In particular, using this method usually requires copying of the entire buffer one extra time.
+Also, allocating a new buffer each time can put excessive pressure on GC, especially if
+the payload is more than 86700 bytes large (which means the newly allocated buffer will be placed in LOH,
+and LOH object can only be garbage collected via a full (&quot;stop the world&quot;) GC run).
+NOTE: Deserializers are expected not to call this method (or other payload accessor methods) more than once per received message
+(as there is no practical reason for doing so) and <code>DeserializationContext</code> implementations are free to assume so.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public virtual byte[] PayloadAsNewBuffer()</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.Byte</span>[]</td>
+        <td><p>byte array containing the entire payload.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_DeserializationContext_PayloadAsReadOnlySequence_" data-uid="Grpc.Core.DeserializationContext.PayloadAsReadOnlySequence*"></a>
+  <h4 id="Grpc_Core_DeserializationContext_PayloadAsReadOnlySequence" data-uid="Grpc.Core.DeserializationContext.PayloadAsReadOnlySequence">PayloadAsReadOnlySequence()</h4>
+  <div class="markdown level1 summary"><p>Gets the entire payload as a ReadOnlySequence.
+The ReadOnlySequence is only valid for the duration of the deserializer routine and the caller must not access it after the deserializer returns.
+Using the read only sequence is the most efficient way to access the message payload. Where possible it allows directly
+accessing the received payload without needing to perform any buffer copying or buffer allocations.
+NOTE: When using this method, it is recommended to use C# 7.2 compiler to make it more useful (using Span type directly from your code requires C# 7.2).&quot;
+NOTE: Deserializers are expected not to call this method (or other payload accessor methods) more than once per received message
+(as there is no practical reason for doing so) and <code>DeserializationContext</code> implementations are free to assume so.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public virtual System.Buffers.ReadOnlySequence&lt;byte&gt; PayloadAsReadOnlySequence()</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.Buffers.ReadOnlySequence</span>&lt;<span class="xref">System.Byte</span>&gt;</td>
+        <td><p>read only sequence containing the entire payload.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 190 - 0
csharp-dotnet/api/Grpc.Core.DuplexStreamingServerMethod-2.html

@@ -0,0 +1,190 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Delegate DuplexStreamingServerMethod&lt;TRequest, TResponse&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Delegate DuplexStreamingServerMethod&lt;TRequest, TResponse&gt;
+   | gRPC for .NET ">
+    <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.DuplexStreamingServerMethod`2">
+  
+  
+  <h1 id="Grpc_Core_DuplexStreamingServerMethod_2" data-uid="Grpc.Core.DuplexStreamingServerMethod`2" class="text-break">Delegate DuplexStreamingServerMethod&lt;TRequest, TResponse&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>Server-side handler for bidi streaming call.</p>
+</div>
+  <div class="markdown level0 conceptual"></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_DuplexStreamingServerMethod_2_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public delegate Task DuplexStreamingServerMethod&lt;TRequest, TResponse&gt;(IAsyncStreamReader&lt;TRequest&gt; requestStream, IServerStreamWriter&lt;TResponse&gt; responseStream, ServerCallContext context)
+    where TRequest : class where TResponse : class;</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.IAsyncStreamReader-1.html">IAsyncStreamReader</a>&lt;TRequest&gt;</td>
+        <td><span class="parametername">requestStream</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.IServerStreamWriter-1.html">IServerStreamWriter</a>&lt;TResponse&gt;</td>
+        <td><span class="parametername">responseStream</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.ServerCallContext.html">ServerCallContext</a></td>
+        <td><span class="parametername">context</span></td>
+        <td></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><span class="xref">Task</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>Request message type for this method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>Response message type for this method.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 236 - 0
csharp-dotnet/api/Grpc.Core.IAsyncStreamReader-1.html

@@ -0,0 +1,236 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Interface IAsyncStreamReader&lt;T&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Interface IAsyncStreamReader&lt;T&gt;
+   | gRPC for .NET ">
+    <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.IAsyncStreamReader`1">
+  
+  
+  <h1 id="Grpc_Core_IAsyncStreamReader_1" data-uid="Grpc.Core.IAsyncStreamReader`1" class="text-break">Interface IAsyncStreamReader&lt;T&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>A stream of messages to be read.
+Messages can be awaited <code>await reader.MoveNext()</code>, that returns <code>true</code>
+if there is a message available and <code>false</code> if there are no more messages
+(i.e. the stream has been closed).
+<p>
+On the client side, the last invocation of <code>MoveNext()</code> either returns <code>false</code>
+if the call has finished successfully or throws <code>RpcException</code> if call finished
+with an error. Once the call finishes, subsequent invocations of <code>MoveNext()</code> will
+continue yielding the same result (returning <code>false</code> or throwing an exception).
+</p>
+<p>
+On the server side, <code>MoveNext()</code> does not throw exceptions.
+In case of a failure, the request stream will appear to be finished
+(<code>MoveNext</code> will return <code>false</code>) and the <code>CancellationToken</code>
+associated with the call will be cancelled to signal the failure.
+</p>
+<p>
+<code>MoveNext()</code> operations can be cancelled via a cancellation token. Cancelling
+an individual read operation has the same effect as cancelling the entire call
+(which will also result in the read operation returning prematurely), but the per-read cancellation
+tokens passed to MoveNext() only result in cancelling the call if the read operation haven&apos;t finished
+yet.
+</p></p>
+</div>
+  <div class="markdown level0 conceptual"></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_IAsyncStreamReader_1_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public interface IAsyncStreamReader&lt;T&gt;</code></pre>
+  </div>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">T</span></td>
+        <td><p>The message type.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_IAsyncStreamReader_1_Current_" data-uid="Grpc.Core.IAsyncStreamReader`1.Current*"></a>
+  <h4 id="Grpc_Core_IAsyncStreamReader_1_Current" data-uid="Grpc.Core.IAsyncStreamReader`1.Current">Current</h4>
+  <div class="markdown level1 summary"><p>Gets the current element in the iteration.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">T Current { 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">T</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_IAsyncStreamReader_1_MoveNext_" data-uid="Grpc.Core.IAsyncStreamReader`1.MoveNext*"></a>
+  <h4 id="Grpc_Core_IAsyncStreamReader_1_MoveNext_CancellationToken_" data-uid="Grpc.Core.IAsyncStreamReader`1.MoveNext(CancellationToken)">MoveNext(CancellationToken)</h4>
+  <div class="markdown level1 summary"><p>Advances the reader to the next element in the sequence, returning the result asynchronously.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">Task&lt;bool&gt; MoveNext(CancellationToken cancellationToken)</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">CancellationToken</span></td>
+        <td><span class="parametername">cancellationToken</span></td>
+        <td><p>Cancellation token that can be used to cancel the operation.</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><span class="xref">Task</span>&lt;<span class="xref">System.Boolean</span>&gt;</td>
+        <td><p>Task containing the result of the operation: true if the reader was successfully advanced
+to the next element; false if the reader has passed the end of the sequence.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 215 - 0
csharp-dotnet/api/Grpc.Core.IAsyncStreamWriter-1.html

@@ -0,0 +1,215 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Interface IAsyncStreamWriter&lt;T&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Interface IAsyncStreamWriter&lt;T&gt;
+   | gRPC for .NET ">
+    <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.IAsyncStreamWriter`1">
+  
+  
+  <h1 id="Grpc_Core_IAsyncStreamWriter_1" data-uid="Grpc.Core.IAsyncStreamWriter`1" class="text-break">Interface IAsyncStreamWriter&lt;T&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>A writable stream of messages.</p>
+</div>
+  <div class="markdown level0 conceptual"></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_IAsyncStreamWriter_1_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public interface IAsyncStreamWriter&lt;T&gt;</code></pre>
+  </div>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">T</span></td>
+        <td><p>The message type.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_IAsyncStreamWriter_1_WriteOptions_" data-uid="Grpc.Core.IAsyncStreamWriter`1.WriteOptions*"></a>
+  <h4 id="Grpc_Core_IAsyncStreamWriter_1_WriteOptions" data-uid="Grpc.Core.IAsyncStreamWriter`1.WriteOptions">WriteOptions</h4>
+  <div class="markdown level1 summary"><p>Write options that will be used for the next write.
+If null, default options will be used.
+Once set, this property maintains its value across subsequent
+writes.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">WriteOptions WriteOptions { get; set; }</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><a class="xref" href="Grpc.Core.WriteOptions.html">WriteOptions</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_IAsyncStreamWriter_1_WriteAsync_" data-uid="Grpc.Core.IAsyncStreamWriter`1.WriteAsync*"></a>
+  <h4 id="Grpc_Core_IAsyncStreamWriter_1_WriteAsync__0_" data-uid="Grpc.Core.IAsyncStreamWriter`1.WriteAsync(`0)">WriteAsync(T)</h4>
+  <div class="markdown level1 summary"><p>Writes a single asynchronously. Only one write can be pending at a time.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">Task WriteAsync(T message)</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">T</span></td>
+        <td><span class="parametername">message</span></td>
+        <td><p>the message to be written. Cannot be null.</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><span class="xref">Task</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 177 - 0
csharp-dotnet/api/Grpc.Core.IClientStreamWriter-1.html

@@ -0,0 +1,177 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Interface IClientStreamWriter&lt;T&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Interface IClientStreamWriter&lt;T&gt;
+   | gRPC for .NET ">
+    <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.IClientStreamWriter`1">
+  
+  
+  <h1 id="Grpc_Core_IClientStreamWriter_1" data-uid="Grpc.Core.IClientStreamWriter`1" class="text-break">Interface IClientStreamWriter&lt;T&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>Client-side writable stream of messages with Close capability.</p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <div class="inheritedMembers">
+    <h5>Inherited Members</h5>
+    <div>
+      <a class="xref" href="Grpc.Core.IAsyncStreamWriter-1.html#Grpc_Core_IAsyncStreamWriter_1_WriteAsync__0_">IAsyncStreamWriter&lt;T&gt;.WriteAsync(T)</a>
+    </div>
+    <div>
+      <a class="xref" href="Grpc.Core.IAsyncStreamWriter-1.html#Grpc_Core_IAsyncStreamWriter_1_WriteOptions">IAsyncStreamWriter&lt;T&gt;.WriteOptions</a>
+    </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_IClientStreamWriter_1_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public interface IClientStreamWriter&lt;T&gt; : IAsyncStreamWriter&lt;T&gt;</code></pre>
+  </div>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">T</span></td>
+        <td><p>The message type.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_IClientStreamWriter_1_CompleteAsync_" data-uid="Grpc.Core.IClientStreamWriter`1.CompleteAsync*"></a>
+  <h4 id="Grpc_Core_IClientStreamWriter_1_CompleteAsync" data-uid="Grpc.Core.IClientStreamWriter`1.CompleteAsync">CompleteAsync()</h4>
+  <div class="markdown level1 summary"><p>Completes/closes the stream. Can only be called once there is no pending write. No writes should follow calling this.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">Task CompleteAsync()</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">Task</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 225 - 0
csharp-dotnet/api/Grpc.Core.IMethod.html

@@ -0,0 +1,225 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Interface IMethod
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Interface IMethod
+   | gRPC for .NET ">
+    <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.IMethod">
+  
+  
+  <h1 id="Grpc_Core_IMethod" data-uid="Grpc.Core.IMethod" class="text-break">Interface IMethod
+  </h1>
+  <div class="markdown level0 summary"><p>A non-generic representation of a remote method.</p>
+</div>
+  <div class="markdown level0 conceptual"></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_IMethod_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public interface IMethod</code></pre>
+  </div>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_IMethod_FullName_" data-uid="Grpc.Core.IMethod.FullName*"></a>
+  <h4 id="Grpc_Core_IMethod_FullName" data-uid="Grpc.Core.IMethod.FullName">FullName</h4>
+  <div class="markdown level1 summary"><p>Gets the fully qualified name of the method. On the server side, methods are dispatched
+based on this name.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">string FullName { 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>
+  <a id="Grpc_Core_IMethod_Name_" data-uid="Grpc.Core.IMethod.Name*"></a>
+  <h4 id="Grpc_Core_IMethod_Name" data-uid="Grpc.Core.IMethod.Name">Name</h4>
+  <div class="markdown level1 summary"><p>Gets the unqualified name of the method.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">string Name { 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>
+  <a id="Grpc_Core_IMethod_ServiceName_" data-uid="Grpc.Core.IMethod.ServiceName*"></a>
+  <h4 id="Grpc_Core_IMethod_ServiceName" data-uid="Grpc.Core.IMethod.ServiceName">ServiceName</h4>
+  <div class="markdown level1 summary"><p>Gets the name of the service to which this method belongs.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">string ServiceName { 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>
+  <a id="Grpc_Core_IMethod_Type_" data-uid="Grpc.Core.IMethod.Type*"></a>
+  <h4 id="Grpc_Core_IMethod_Type" data-uid="Grpc.Core.IMethod.Type">Type</h4>
+  <div class="markdown level1 summary"><p>Gets the type of the method.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">MethodType Type { 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><a class="xref" href="Grpc.Core.MethodType.html">MethodType</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 150 - 0
csharp-dotnet/api/Grpc.Core.IServerStreamWriter-1.html

@@ -0,0 +1,150 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Interface IServerStreamWriter&lt;T&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Interface IServerStreamWriter&lt;T&gt;
+   | gRPC for .NET ">
+    <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.IServerStreamWriter`1">
+  
+  
+  <h1 id="Grpc_Core_IServerStreamWriter_1" data-uid="Grpc.Core.IServerStreamWriter`1" class="text-break">Interface IServerStreamWriter&lt;T&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>A writable stream of messages that is used in server-side handlers.</p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <div class="inheritedMembers">
+    <h5>Inherited Members</h5>
+    <div>
+      <a class="xref" href="Grpc.Core.IAsyncStreamWriter-1.html#Grpc_Core_IAsyncStreamWriter_1_WriteAsync__0_">IAsyncStreamWriter&lt;T&gt;.WriteAsync(T)</a>
+    </div>
+    <div>
+      <a class="xref" href="Grpc.Core.IAsyncStreamWriter-1.html#Grpc_Core_IAsyncStreamWriter_1_WriteOptions">IAsyncStreamWriter&lt;T&gt;.WriteOptions</a>
+    </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_IServerStreamWriter_1_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public interface IServerStreamWriter&lt;T&gt; : IAsyncStreamWriter&lt;T&gt;</code></pre>
+  </div>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">T</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 302 - 0
csharp-dotnet/api/Grpc.Core.Interceptors.CallInvokerExtensions.html

@@ -0,0 +1,302 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class CallInvokerExtensions
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class CallInvokerExtensions
+   | gRPC for .NET ">
+    <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.CallInvokerExtensions">
+  
+  
+  <h1 id="Grpc_Core_Interceptors_CallInvokerExtensions" data-uid="Grpc.Core.Interceptors.CallInvokerExtensions" class="text-break">Class CallInvokerExtensions
+  </h1>
+  <div class="markdown level0 summary"><p>Extends the CallInvoker class to provide the interceptor facility on the client 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">CallInvokerExtensions</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.Api.dll</h6>
+  <h5 id="Grpc_Core_Interceptors_CallInvokerExtensions_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static class CallInvokerExtensions : object</code></pre>
+  </div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_Interceptors_CallInvokerExtensions_Intercept_" data-uid="Grpc.Core.Interceptors.CallInvokerExtensions.Intercept*"></a>
+  <h4 id="Grpc_Core_Interceptors_CallInvokerExtensions_Intercept_Grpc_Core_CallInvoker_Func_Grpc_Core_Metadata_Grpc_Core_Metadata__" data-uid="Grpc.Core.Interceptors.CallInvokerExtensions.Intercept(Grpc.Core.CallInvoker,Func{Grpc.Core.Metadata,Grpc.Core.Metadata})">Intercept(CallInvoker, Func&lt;Metadata, Metadata&gt;)</h4>
+  <div class="markdown level1 summary"><p>Returns a <a class="xref" href="Grpc.Core.CallInvoker.html">CallInvoker</a> instance that intercepts
+the invoker with 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 CallInvoker Intercept(this CallInvoker invoker, Func&lt;Metadata, Metadata&gt; 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.CallInvoker.html">CallInvoker</a></td>
+        <td><span class="parametername">invoker</span></td>
+        <td><p>The underlying invoker to intercept.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Func</span>&lt;<a class="xref" href="Grpc.Core.Metadata.html">Metadata</a>, <a class="xref" href="Grpc.Core.Metadata.html">Metadata</a>&gt;</td>
+        <td><span class="parametername">interceptor</span></td>
+        <td><p>An interceptor delegate that takes the request metadata to be sent with an outgoing call
+and returns a <a class="xref" href="Grpc.Core.Metadata.html">Metadata</a> instance that will replace the existing
+invocation metadata.</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.CallInvoker.html">CallInvoker</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 id="Grpc_Core_Interceptors_CallInvokerExtensions_Intercept_Grpc_Core_CallInvoker_Func_Grpc_Core_Metadata_Grpc_Core_Metadata___remarks">Remarks</h5>
+  <div class="markdown level1 remarks"><p>Multiple interceptors can be added on top of each other by
+building a chain like &quot;invoker.Intercept(c).Intercept(b).Intercept(a)&quot;.  Note that
+in this case, the last interceptor added will be the first to take control.</p>
+</div>
+  <a id="Grpc_Core_Interceptors_CallInvokerExtensions_Intercept_" data-uid="Grpc.Core.Interceptors.CallInvokerExtensions.Intercept*"></a>
+  <h4 id="Grpc_Core_Interceptors_CallInvokerExtensions_Intercept_Grpc_Core_CallInvoker_Grpc_Core_Interceptors_Interceptor_" data-uid="Grpc.Core.Interceptors.CallInvokerExtensions.Intercept(Grpc.Core.CallInvoker,Grpc.Core.Interceptors.Interceptor)">Intercept(CallInvoker, Interceptor)</h4>
+  <div class="markdown level1 summary"><p>Returns a <a class="xref" href="Grpc.Core.CallInvoker.html">CallInvoker</a> instance that intercepts
+the invoker with 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 CallInvoker Intercept(this CallInvoker invoker, 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.CallInvoker.html">CallInvoker</a></td>
+        <td><span class="parametername">invoker</span></td>
+        <td><p>The underlying invoker to intercept.</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 calls to the invoker 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.CallInvoker.html">CallInvoker</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 id="Grpc_Core_Interceptors_CallInvokerExtensions_Intercept_Grpc_Core_CallInvoker_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
+&quot;invoker.Intercept(a, b, c)&quot;.  The order of invocation will be &quot;a&quot;, &quot;b&quot;, and then &quot;c&quot;.
+Interceptors can be later added to an existing intercepted CallInvoker, effectively
+building a chain like &quot;invoker.Intercept(c).Intercept(b).Intercept(a)&quot;.  Note that
+in this case, the last interceptor added will be the first to take control.</p>
+</div>
+  <a id="Grpc_Core_Interceptors_CallInvokerExtensions_Intercept_" data-uid="Grpc.Core.Interceptors.CallInvokerExtensions.Intercept*"></a>
+  <h4 id="Grpc_Core_Interceptors_CallInvokerExtensions_Intercept_Grpc_Core_CallInvoker_Grpc_Core_Interceptors_Interceptor___" data-uid="Grpc.Core.Interceptors.CallInvokerExtensions.Intercept(Grpc.Core.CallInvoker,Grpc.Core.Interceptors.Interceptor[])">Intercept(CallInvoker, Interceptor[])</h4>
+  <div class="markdown level1 summary"><p>Returns a <a class="xref" href="Grpc.Core.CallInvoker.html">CallInvoker</a> instance that intercepts
+the invoker with 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 CallInvoker Intercept(this CallInvoker invoker, 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.CallInvoker.html">CallInvoker</a></td>
+        <td><span class="parametername">invoker</span></td>
+        <td><p>The channel to intercept.</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 calls to the invoker 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.CallInvoker.html">CallInvoker</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 id="Grpc_Core_Interceptors_CallInvokerExtensions_Intercept_Grpc_Core_CallInvoker_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
+&quot;invoker.Intercept(a, b, c)&quot;.  The order of invocation will be &quot;a&quot;, &quot;b&quot;, and then &quot;c&quot;.
+Interceptors can be later added to an existing intercepted CallInvoker, effectively
+building a chain like &quot;invoker.Intercept(c).Intercept(b).Intercept(a)&quot;.  Note that
+in 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>

+ 302 - 0
csharp-dotnet/api/Grpc.Core.Interceptors.ChannelExtensions.html

@@ -0,0 +1,302 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class ChannelExtensions
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class ChannelExtensions
+   | gRPC for .NET ">
+    <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.ChannelExtensions">
+  
+  
+  <h1 id="Grpc_Core_Interceptors_ChannelExtensions" data-uid="Grpc.Core.Interceptors.ChannelExtensions" class="text-break">Class ChannelExtensions
+  </h1>
+  <div class="markdown level0 summary"><p>Provides extension methods to make it easy to register interceptors on Channel objects.</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">ChannelExtensions</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.Api.dll</h6>
+  <h5 id="Grpc_Core_Interceptors_ChannelExtensions_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static class ChannelExtensions : object</code></pre>
+  </div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_Interceptors_ChannelExtensions_Intercept_" data-uid="Grpc.Core.Interceptors.ChannelExtensions.Intercept*"></a>
+  <h4 id="Grpc_Core_Interceptors_ChannelExtensions_Intercept_Grpc_Core_ChannelBase_Func_Grpc_Core_Metadata_Grpc_Core_Metadata__" data-uid="Grpc.Core.Interceptors.ChannelExtensions.Intercept(Grpc.Core.ChannelBase,Func{Grpc.Core.Metadata,Grpc.Core.Metadata})">Intercept(ChannelBase, Func&lt;Metadata, Metadata&gt;)</h4>
+  <div class="markdown level1 summary"><p>Returns a <a class="xref" href="Grpc.Core.CallInvoker.html">CallInvoker</a> instance that intercepts
+the invoker with 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 CallInvoker Intercept(this ChannelBase channel, Func&lt;Metadata, Metadata&gt; 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.ChannelBase.html">ChannelBase</a></td>
+        <td><span class="parametername">channel</span></td>
+        <td><p>The channel to intercept.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Func</span>&lt;<a class="xref" href="Grpc.Core.Metadata.html">Metadata</a>, <a class="xref" href="Grpc.Core.Metadata.html">Metadata</a>&gt;</td>
+        <td><span class="parametername">interceptor</span></td>
+        <td><p>An interceptor delegate that takes the request metadata to be sent with an outgoing call
+and returns a <a class="xref" href="Grpc.Core.Metadata.html">Metadata</a> instance that will replace the existing
+invocation metadata.</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.CallInvoker.html">CallInvoker</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 id="Grpc_Core_Interceptors_ChannelExtensions_Intercept_Grpc_Core_ChannelBase_Func_Grpc_Core_Metadata_Grpc_Core_Metadata___remarks">Remarks</h5>
+  <div class="markdown level1 remarks"><p>Multiple interceptors can be added on top of each other by
+building a chain like &quot;channel.Intercept(c).Intercept(b).Intercept(a)&quot;.  Note that
+in this case, the last interceptor added will be the first to take control.</p>
+</div>
+  <a id="Grpc_Core_Interceptors_ChannelExtensions_Intercept_" data-uid="Grpc.Core.Interceptors.ChannelExtensions.Intercept*"></a>
+  <h4 id="Grpc_Core_Interceptors_ChannelExtensions_Intercept_Grpc_Core_ChannelBase_Grpc_Core_Interceptors_Interceptor_" data-uid="Grpc.Core.Interceptors.ChannelExtensions.Intercept(Grpc.Core.ChannelBase,Grpc.Core.Interceptors.Interceptor)">Intercept(ChannelBase, Interceptor)</h4>
+  <div class="markdown level1 summary"><p>Returns a <a class="xref" href="Grpc.Core.CallInvoker.html">CallInvoker</a> instance that intercepts
+the channel with 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 CallInvoker Intercept(this ChannelBase channel, 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.ChannelBase.html">ChannelBase</a></td>
+        <td><span class="parametername">channel</span></td>
+        <td><p>The channel to intercept.</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 channel 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.CallInvoker.html">CallInvoker</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 id="Grpc_Core_Interceptors_ChannelExtensions_Intercept_Grpc_Core_ChannelBase_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
+&quot;channel.Intercept(a, b, c)&quot;.  The order of invocation will be &quot;a&quot;, &quot;b&quot;, and then &quot;c&quot;.
+Interceptors can be later added to an existing intercepted channel, effectively
+building a chain like &quot;channel.Intercept(c).Intercept(b).Intercept(a)&quot;.  Note that
+in this case, the last interceptor added will be the first to take control.</p>
+</div>
+  <a id="Grpc_Core_Interceptors_ChannelExtensions_Intercept_" data-uid="Grpc.Core.Interceptors.ChannelExtensions.Intercept*"></a>
+  <h4 id="Grpc_Core_Interceptors_ChannelExtensions_Intercept_Grpc_Core_ChannelBase_Grpc_Core_Interceptors_Interceptor___" data-uid="Grpc.Core.Interceptors.ChannelExtensions.Intercept(Grpc.Core.ChannelBase,Grpc.Core.Interceptors.Interceptor[])">Intercept(ChannelBase, Interceptor[])</h4>
+  <div class="markdown level1 summary"><p>Returns a <a class="xref" href="Grpc.Core.CallInvoker.html">CallInvoker</a> instance that intercepts
+the channel with 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 CallInvoker Intercept(this ChannelBase channel, 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.ChannelBase.html">ChannelBase</a></td>
+        <td><span class="parametername">channel</span></td>
+        <td><p>The channel to intercept.</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 channel 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.CallInvoker.html">CallInvoker</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 id="Grpc_Core_Interceptors_ChannelExtensions_Intercept_Grpc_Core_ChannelBase_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
+&quot;channel.Intercept(a, b, c)&quot;.  The order of invocation will be &quot;a&quot;, &quot;b&quot;, and then &quot;c&quot;.
+Interceptors can be later added to an existing intercepted channel, effectively
+building a chain like &quot;channel.Intercept(c).Intercept(b).Intercept(a)&quot;.  Note that
+in 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>

+ 264 - 0
csharp-dotnet/api/Grpc.Core.Interceptors.ClientInterceptorContext-2.html

@@ -0,0 +1,264 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Struct ClientInterceptorContext&lt;TRequest, TResponse&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Struct ClientInterceptorContext&lt;TRequest, TResponse&gt;
+   | gRPC for .NET ">
+    <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.ClientInterceptorContext`2">
+  
+  
+  <h1 id="Grpc_Core_Interceptors_ClientInterceptorContext_2" data-uid="Grpc.Core.Interceptors.ClientInterceptorContext`2" class="text-break">Struct ClientInterceptorContext&lt;TRequest, TResponse&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>Carries along the context associated with intercepted invocations on the client side.</p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.Core.Interceptors.html">Grpc.Core.Interceptors</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.Core.Api.dll</h6>
+  <h5 id="Grpc_Core_Interceptors_ClientInterceptorContext_2_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public struct ClientInterceptorContext&lt;TRequest, TResponse&gt;
+    where TRequest : class where TResponse : class</code></pre>
+  </div>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Core_Interceptors_ClientInterceptorContext_2__ctor_" data-uid="Grpc.Core.Interceptors.ClientInterceptorContext`2.#ctor*"></a>
+  <h4 id="Grpc_Core_Interceptors_ClientInterceptorContext_2__ctor_Grpc_Core_Method__0__1__System_String_Grpc_Core_CallOptions_" data-uid="Grpc.Core.Interceptors.ClientInterceptorContext`2.#ctor(Grpc.Core.Method{`0,`1},System.String,Grpc.Core.CallOptions)">ClientInterceptorContext(Method&lt;TRequest, TResponse&gt;, String, CallOptions)</h4>
+  <div class="markdown level1 summary"><p>Creates a new instance of <a class="xref" href="Grpc.Core.Interceptors.ClientInterceptorContext-2.html">ClientInterceptorContext&lt;TRequest, TResponse&gt;</a>
+with the specified method, host, and call options.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public ClientInterceptorContext(Method&lt;TRequest, TResponse&gt; method, string host, CallOptions options)</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.Method-2.html">Method</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">method</span></td>
+        <td><p>A <a class="xref" href="Grpc.Core.Method-2.html">Method&lt;TRequest, TResponse&gt;</a> object representing the method to be invoked.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.String</span></td>
+        <td><span class="parametername">host</span></td>
+        <td><p>The host to dispatch the current call to.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.CallOptions.html">CallOptions</a></td>
+        <td><span class="parametername">options</span></td>
+        <td><p>A <a class="xref" href="Grpc.Core.CallOptions.html">CallOptions</a> instance containing the call options of the current call.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_Interceptors_ClientInterceptorContext_2_Host_" data-uid="Grpc.Core.Interceptors.ClientInterceptorContext`2.Host*"></a>
+  <h4 id="Grpc_Core_Interceptors_ClientInterceptorContext_2_Host" data-uid="Grpc.Core.Interceptors.ClientInterceptorContext`2.Host">Host</h4>
+  <div class="markdown level1 summary"><p>Gets the host that the currect invocation will be dispatched to.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public string Host { 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>
+  <a id="Grpc_Core_Interceptors_ClientInterceptorContext_2_Method_" data-uid="Grpc.Core.Interceptors.ClientInterceptorContext`2.Method*"></a>
+  <h4 id="Grpc_Core_Interceptors_ClientInterceptorContext_2_Method" data-uid="Grpc.Core.Interceptors.ClientInterceptorContext`2.Method">Method</h4>
+  <div class="markdown level1 summary"><p>Gets the <a class="xref" href="Grpc.Core.Method-2.html">Method&lt;TRequest, TResponse&gt;</a> instance
+representing the method to be invoked.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Method&lt;TRequest, TResponse&gt; Method { 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><a class="xref" href="Grpc.Core.Method-2.html">Method</a>&lt;TRequest, TResponse&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Interceptors_ClientInterceptorContext_2_Options_" data-uid="Grpc.Core.Interceptors.ClientInterceptorContext`2.Options*"></a>
+  <h4 id="Grpc_Core_Interceptors_ClientInterceptorContext_2_Options" data-uid="Grpc.Core.Interceptors.ClientInterceptorContext`2.Options">Options</h4>
+  <div class="markdown level1 summary"><p>Gets the <a class="xref" href="Grpc.Core.CallOptions.html">CallOptions</a> structure representing the
+call options associated with the current invocation.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public CallOptions Options { 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><a class="xref" href="Grpc.Core.CallOptions.html">CallOptions</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 192 - 0
csharp-dotnet/api/Grpc.Core.Interceptors.Interceptor.AsyncClientStreamingCallContinuation-2.html

@@ -0,0 +1,192 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Delegate Interceptor.AsyncClientStreamingCallContinuation&lt;TRequest, TResponse&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Delegate Interceptor.AsyncClientStreamingCallContinuation&lt;TRequest, TResponse&gt;
+   | gRPC for .NET ">
+    <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.Interceptor.AsyncClientStreamingCallContinuation`2">
+  
+  
+  <h1 id="Grpc_Core_Interceptors_Interceptor_AsyncClientStreamingCallContinuation_2" data-uid="Grpc.Core.Interceptors.Interceptor.AsyncClientStreamingCallContinuation`2" class="text-break">Delegate Interceptor.AsyncClientStreamingCallContinuation&lt;TRequest, TResponse&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>Represents a continuation for intercepting asynchronous client-streaming invocations.
+A delegate of this type is passed to the AsyncClientStreamingCall method
+when an outgoing invocation is being intercepted and calling the
+delegate will invoke the next interceptor in the chain, or the underlying
+call invoker if called from the last interceptor. The interceptor is
+allowed to call it zero, one, or multiple times, passing it the appropriate
+request value and context as it sees fit.</p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.Core.Interceptors.html">Grpc.Core.Interceptors</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.Core.Api.dll</h6>
+  <h5 id="Grpc_Core_Interceptors_Interceptor_AsyncClientStreamingCallContinuation_2_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public delegate AsyncClientStreamingCall&lt;TRequest, TResponse&gt; AsyncClientStreamingCallContinuation&lt;TRequest, TResponse&gt;(ClientInterceptorContext&lt;TRequest, TResponse&gt; context)
+    where TRequest : class where TResponse : class;</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.Interceptors.ClientInterceptorContext-2.html">ClientInterceptorContext</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">context</span></td>
+        <td><p>The <a class="xref" href="Grpc.Core.Interceptors.ClientInterceptorContext-2.html">ClientInterceptorContext&lt;TRequest, TResponse&gt;</a>
+instance to pass to the next step in the invocation process.</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.AsyncClientStreamingCall-2.html">AsyncClientStreamingCall</a>&lt;TRequest, TResponse&gt;</td>
+        <td><p>An instance of <a class="xref" href="Grpc.Core.AsyncClientStreamingCall-2.html">AsyncClientStreamingCall&lt;TRequest, TResponse&gt;</a>
+representing an asynchronous invocation of a client-streaming RPC.
+The interceptor can choose to return the same object returned from
+the continuation delegate or an arbitrarily constructed instance as it sees fit.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>Request message type for this invocation.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>Response message type for this invocation.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 190 - 0
csharp-dotnet/api/Grpc.Core.Interceptors.Interceptor.AsyncDuplexStreamingCallContinuation-2.html

@@ -0,0 +1,190 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Delegate Interceptor.AsyncDuplexStreamingCallContinuation&lt;TRequest, TResponse&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Delegate Interceptor.AsyncDuplexStreamingCallContinuation&lt;TRequest, TResponse&gt;
+   | gRPC for .NET ">
+    <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.Interceptor.AsyncDuplexStreamingCallContinuation`2">
+  
+  
+  <h1 id="Grpc_Core_Interceptors_Interceptor_AsyncDuplexStreamingCallContinuation_2" data-uid="Grpc.Core.Interceptors.Interceptor.AsyncDuplexStreamingCallContinuation`2" class="text-break">Delegate Interceptor.AsyncDuplexStreamingCallContinuation&lt;TRequest, TResponse&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>Represents a continuation for intercepting asynchronous duplex invocations.
+A delegate of this type is passed to the AsyncDuplexStreamingCall method
+when an outgoing invocation is being intercepted and calling the
+delegate will invoke the next interceptor in the chain, or the underlying
+call invoker if called from the last interceptor. The interceptor is
+allowed to call it zero, one, or multiple times, passing it the appropriate
+request value and context as it sees fit.</p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.Core.Interceptors.html">Grpc.Core.Interceptors</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.Core.Api.dll</h6>
+  <h5 id="Grpc_Core_Interceptors_Interceptor_AsyncDuplexStreamingCallContinuation_2_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public delegate AsyncDuplexStreamingCall&lt;TRequest, TResponse&gt; AsyncDuplexStreamingCallContinuation&lt;TRequest, TResponse&gt;(ClientInterceptorContext&lt;TRequest, TResponse&gt; context)
+    where TRequest : class where TResponse : class;</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.Interceptors.ClientInterceptorContext-2.html">ClientInterceptorContext</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">context</span></td>
+        <td><p>The <a class="xref" href="Grpc.Core.Interceptors.ClientInterceptorContext-2.html">ClientInterceptorContext&lt;TRequest, TResponse&gt;</a>
+instance to pass to the next step in the invocation process.</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.AsyncDuplexStreamingCall-2.html">AsyncDuplexStreamingCall</a>&lt;TRequest, TResponse&gt;</td>
+        <td><p>An instance of <a class="xref" href="Grpc.Core.AsyncDuplexStreamingCall-2.html">AsyncDuplexStreamingCall&lt;TRequest, TResponse&gt;</a>
+representing an asynchronous invocation of a duplex-streaming RPC.
+The interceptor can choose to return the same object returned from
+the continuation delegate or an arbitrarily constructed instance as it sees fit.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 198 - 0
csharp-dotnet/api/Grpc.Core.Interceptors.Interceptor.AsyncServerStreamingCallContinuation-2.html

@@ -0,0 +1,198 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Delegate Interceptor.AsyncServerStreamingCallContinuation&lt;TRequest, TResponse&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Delegate Interceptor.AsyncServerStreamingCallContinuation&lt;TRequest, TResponse&gt;
+   | gRPC for .NET ">
+    <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.Interceptor.AsyncServerStreamingCallContinuation`2">
+  
+  
+  <h1 id="Grpc_Core_Interceptors_Interceptor_AsyncServerStreamingCallContinuation_2" data-uid="Grpc.Core.Interceptors.Interceptor.AsyncServerStreamingCallContinuation`2" class="text-break">Delegate Interceptor.AsyncServerStreamingCallContinuation&lt;TRequest, TResponse&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>Represents a continuation for intercepting asynchronous server-streaming invocations.
+A delegate of this type is passed to the AsyncServerStreamingCall method
+when an outgoing invocation is being intercepted and calling the
+delegate will invoke the next interceptor in the chain, or the underlying
+call invoker if called from the last interceptor. The interceptor is
+allowed to call it zero, one, or multiple times, passing it the appropriate
+request value and context as it sees fit.</p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.Core.Interceptors.html">Grpc.Core.Interceptors</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.Core.Api.dll</h6>
+  <h5 id="Grpc_Core_Interceptors_Interceptor_AsyncServerStreamingCallContinuation_2_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public delegate AsyncServerStreamingCall&lt;TResponse&gt; AsyncServerStreamingCallContinuation&lt;TRequest, TResponse&gt;(TRequest request, ClientInterceptorContext&lt;TRequest, TResponse&gt; context)
+    where TRequest : class where TResponse : class;</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">TRequest</span></td>
+        <td><span class="parametername">request</span></td>
+        <td><p>The request value to continue the invocation with.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.Interceptors.ClientInterceptorContext-2.html">ClientInterceptorContext</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">context</span></td>
+        <td><p>The <a class="xref" href="Grpc.Core.Interceptors.ClientInterceptorContext-2.html">ClientInterceptorContext&lt;TRequest, TResponse&gt;</a>
+instance to pass to the next step in the invocation process.</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.AsyncServerStreamingCall-1.html">AsyncServerStreamingCall</a>&lt;TResponse&gt;</td>
+        <td><p>An instance of <a class="xref" href="Grpc.Core.AsyncServerStreamingCall-1.html">AsyncServerStreamingCall&lt;TResponse&gt;</a>
+representing an asynchronous invocation of a server-streaming RPC.
+The interceptor can choose to return the same object returned from
+the continuation delegate or an arbitrarily constructed instance as it sees fit.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>Request message type for this invocation.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>Response message type for this invocation.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 198 - 0
csharp-dotnet/api/Grpc.Core.Interceptors.Interceptor.AsyncUnaryCallContinuation-2.html

@@ -0,0 +1,198 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Delegate Interceptor.AsyncUnaryCallContinuation&lt;TRequest, TResponse&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Delegate Interceptor.AsyncUnaryCallContinuation&lt;TRequest, TResponse&gt;
+   | gRPC for .NET ">
+    <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.Interceptor.AsyncUnaryCallContinuation`2">
+  
+  
+  <h1 id="Grpc_Core_Interceptors_Interceptor_AsyncUnaryCallContinuation_2" data-uid="Grpc.Core.Interceptors.Interceptor.AsyncUnaryCallContinuation`2" class="text-break">Delegate Interceptor.AsyncUnaryCallContinuation&lt;TRequest, TResponse&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>Represents a continuation for intercepting simple asynchronous invocations.
+A delegate of this type is passed to the AsyncUnaryCall method
+when an outgoing invocation is being intercepted and calling the
+delegate will invoke the next interceptor in the chain, or the underlying
+call invoker if called from the last interceptor. The interceptor is
+allowed to call it zero, one, or multiple times, passing it the appropriate
+request value and context as it sees fit.</p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.Core.Interceptors.html">Grpc.Core.Interceptors</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.Core.Api.dll</h6>
+  <h5 id="Grpc_Core_Interceptors_Interceptor_AsyncUnaryCallContinuation_2_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public delegate AsyncUnaryCall&lt;TResponse&gt; AsyncUnaryCallContinuation&lt;TRequest, TResponse&gt;(TRequest request, ClientInterceptorContext&lt;TRequest, TResponse&gt; context)
+    where TRequest : class where TResponse : class;</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">TRequest</span></td>
+        <td><span class="parametername">request</span></td>
+        <td><p>The request value to continue the invocation with.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.Interceptors.ClientInterceptorContext-2.html">ClientInterceptorContext</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">context</span></td>
+        <td><p>The <a class="xref" href="Grpc.Core.Interceptors.ClientInterceptorContext-2.html">ClientInterceptorContext&lt;TRequest, TResponse&gt;</a>
+instance to pass to the next step in the invocation process.</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.AsyncUnaryCall-1.html">AsyncUnaryCall</a>&lt;TResponse&gt;</td>
+        <td><p>An instance of <a class="xref" href="Grpc.Core.AsyncUnaryCall-1.html">AsyncUnaryCall&lt;TResponse&gt;</a>
+representing an asynchronous invocation of a unary RPC.
+The interceptor can choose to return the same object returned from
+the continuation delegate or an arbitrarily constructed instance as it sees fit.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>Request message type for this invocation.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>Response message type for this invocation.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 197 - 0
csharp-dotnet/api/Grpc.Core.Interceptors.Interceptor.BlockingUnaryCallContinuation-2.html

@@ -0,0 +1,197 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Delegate Interceptor.BlockingUnaryCallContinuation&lt;TRequest, TResponse&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Delegate Interceptor.BlockingUnaryCallContinuation&lt;TRequest, TResponse&gt;
+   | gRPC for .NET ">
+    <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.Interceptor.BlockingUnaryCallContinuation`2">
+  
+  
+  <h1 id="Grpc_Core_Interceptors_Interceptor_BlockingUnaryCallContinuation_2" data-uid="Grpc.Core.Interceptors.Interceptor.BlockingUnaryCallContinuation`2" class="text-break">Delegate Interceptor.BlockingUnaryCallContinuation&lt;TRequest, TResponse&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>Represents a continuation for intercepting simple blocking invocations.
+A delegate of this type is passed to the BlockingUnaryCall method
+when an outgoing invocation is being intercepted and calling the
+delegate will invoke the next interceptor in the chain, or the underlying
+call invoker if called from the last interceptor. The interceptor is
+allowed to call it zero, one, or multiple times, passing it the appropriate
+context and request values as it sees fit.</p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.Core.Interceptors.html">Grpc.Core.Interceptors</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.Core.Api.dll</h6>
+  <h5 id="Grpc_Core_Interceptors_Interceptor_BlockingUnaryCallContinuation_2_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public delegate TResponse BlockingUnaryCallContinuation&lt;TRequest, TResponse&gt;(TRequest request, ClientInterceptorContext&lt;TRequest, TResponse&gt; context)
+    where TRequest : class where TResponse : class;</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">TRequest</span></td>
+        <td><span class="parametername">request</span></td>
+        <td><p>The request value to continue the invocation with.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.Interceptors.ClientInterceptorContext-2.html">ClientInterceptorContext</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">context</span></td>
+        <td><p>The <a class="xref" href="Grpc.Core.Interceptors.ClientInterceptorContext-2.html">ClientInterceptorContext&lt;TRequest, TResponse&gt;</a>
+instance to pass to the next step in the invocation process.</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><span class="xref">TResponse</span></td>
+        <td><p>The response value of the invocation to return to the caller.
+The interceptor can choose to return the return value of the
+continuation delegate or an arbitrary value as it sees fit.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>Request message type for this invocation.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>Response message type for this invocation.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 881 - 0
csharp-dotnet/api/Grpc.Core.Interceptors.Interceptor.html

@@ -0,0 +1,881 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class Interceptor
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class Interceptor
+   | gRPC for .NET ">
+    <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.Interceptor">
+  
+  
+  <h1 id="Grpc_Core_Interceptors_Interceptor" data-uid="Grpc.Core.Interceptors.Interceptor" class="text-break">Class Interceptor
+  </h1>
+  <div class="markdown level0 summary"><p>Serves as the base class for gRPC interceptors.</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">Interceptor</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.Api.dll</h6>
+  <h5 id="Grpc_Core_Interceptors_Interceptor_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract class Interceptor : object</code></pre>
+  </div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_Interceptors_Interceptor_AsyncClientStreamingCall_" data-uid="Grpc.Core.Interceptors.Interceptor.AsyncClientStreamingCall*"></a>
+  <h4 id="Grpc_Core_Interceptors_Interceptor_AsyncClientStreamingCall__2_Grpc_Core_Interceptors_ClientInterceptorContext___0___1__Grpc_Core_Interceptors_Interceptor_AsyncClientStreamingCallContinuation___0___1__" data-uid="Grpc.Core.Interceptors.Interceptor.AsyncClientStreamingCall``2(Grpc.Core.Interceptors.ClientInterceptorContext{``0,``1},Grpc.Core.Interceptors.Interceptor.AsyncClientStreamingCallContinuation{``0,``1})">AsyncClientStreamingCall&lt;TRequest, TResponse&gt;(ClientInterceptorContext&lt;TRequest, TResponse&gt;, Interceptor.AsyncClientStreamingCallContinuation&lt;TRequest, TResponse&gt;)</h4>
+  <div class="markdown level1 summary"><p>Intercepts an asynchronous invocation of a client streaming call.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public virtual AsyncClientStreamingCall&lt;TRequest, TResponse&gt; AsyncClientStreamingCall&lt;TRequest, TResponse&gt;(ClientInterceptorContext&lt;TRequest, TResponse&gt; context, Interceptor.AsyncClientStreamingCallContinuation&lt;TRequest, TResponse&gt; continuation)
+    where TRequest : class where TResponse : class</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.Interceptors.ClientInterceptorContext-2.html">ClientInterceptorContext</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">context</span></td>
+        <td><p>The <a class="xref" href="Grpc.Core.Interceptors.ClientInterceptorContext-2.html">ClientInterceptorContext&lt;TRequest, TResponse&gt;</a>
+associated with the current invocation.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.Interceptors.Interceptor.AsyncClientStreamingCallContinuation-2.html">Interceptor.AsyncClientStreamingCallContinuation</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">continuation</span></td>
+        <td><p>The callback that continues the invocation process.
+This can be invoked zero or more times by the interceptor.
+The interceptor can invoke the continuation passing the given
+context argument, or substitute as it sees fit.</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.AsyncClientStreamingCall-2.html">AsyncClientStreamingCall</a>&lt;TRequest, TResponse&gt;</td>
+        <td><p>An instance of <a class="xref" href="Grpc.Core.AsyncClientStreamingCall-2.html">AsyncClientStreamingCall&lt;TRequest, TResponse&gt;</a>
+representing an asynchronous client-streaming invocation.
+The interceptor can simply return the return value of the
+continuation delegate passed to it intact, or construct its
+own substitute as it sees fit.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Interceptors_Interceptor_AsyncDuplexStreamingCall_" data-uid="Grpc.Core.Interceptors.Interceptor.AsyncDuplexStreamingCall*"></a>
+  <h4 id="Grpc_Core_Interceptors_Interceptor_AsyncDuplexStreamingCall__2_Grpc_Core_Interceptors_ClientInterceptorContext___0___1__Grpc_Core_Interceptors_Interceptor_AsyncDuplexStreamingCallContinuation___0___1__" data-uid="Grpc.Core.Interceptors.Interceptor.AsyncDuplexStreamingCall``2(Grpc.Core.Interceptors.ClientInterceptorContext{``0,``1},Grpc.Core.Interceptors.Interceptor.AsyncDuplexStreamingCallContinuation{``0,``1})">AsyncDuplexStreamingCall&lt;TRequest, TResponse&gt;(ClientInterceptorContext&lt;TRequest, TResponse&gt;, Interceptor.AsyncDuplexStreamingCallContinuation&lt;TRequest, TResponse&gt;)</h4>
+  <div class="markdown level1 summary"><p>Intercepts an asynchronous invocation of a duplex streaming call.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public virtual AsyncDuplexStreamingCall&lt;TRequest, TResponse&gt; AsyncDuplexStreamingCall&lt;TRequest, TResponse&gt;(ClientInterceptorContext&lt;TRequest, TResponse&gt; context, Interceptor.AsyncDuplexStreamingCallContinuation&lt;TRequest, TResponse&gt; continuation)
+    where TRequest : class where TResponse : class</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.Interceptors.ClientInterceptorContext-2.html">ClientInterceptorContext</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">context</span></td>
+        <td><p>The <a class="xref" href="Grpc.Core.Interceptors.ClientInterceptorContext-2.html">ClientInterceptorContext&lt;TRequest, TResponse&gt;</a>
+associated with the current invocation.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.Interceptors.Interceptor.AsyncDuplexStreamingCallContinuation-2.html">Interceptor.AsyncDuplexStreamingCallContinuation</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">continuation</span></td>
+        <td><p>The callback that continues the invocation process.
+This can be invoked zero or more times by the interceptor.
+The interceptor can invoke the continuation passing the given
+context argument, or substitute as it sees fit.</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.AsyncDuplexStreamingCall-2.html">AsyncDuplexStreamingCall</a>&lt;TRequest, TResponse&gt;</td>
+        <td><p>An instance of <a class="xref" href="Grpc.Core.AsyncDuplexStreamingCall-2.html">AsyncDuplexStreamingCall&lt;TRequest, TResponse&gt;</a>
+representing an asynchronous duplex-streaming invocation.
+The interceptor can simply return the return value of the
+continuation delegate passed to it intact, or construct its
+own substitute as it sees fit.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Interceptors_Interceptor_AsyncServerStreamingCall_" data-uid="Grpc.Core.Interceptors.Interceptor.AsyncServerStreamingCall*"></a>
+  <h4 id="Grpc_Core_Interceptors_Interceptor_AsyncServerStreamingCall__2___0_Grpc_Core_Interceptors_ClientInterceptorContext___0___1__Grpc_Core_Interceptors_Interceptor_AsyncServerStreamingCallContinuation___0___1__" data-uid="Grpc.Core.Interceptors.Interceptor.AsyncServerStreamingCall``2(``0,Grpc.Core.Interceptors.ClientInterceptorContext{``0,``1},Grpc.Core.Interceptors.Interceptor.AsyncServerStreamingCallContinuation{``0,``1})">AsyncServerStreamingCall&lt;TRequest, TResponse&gt;(TRequest, ClientInterceptorContext&lt;TRequest, TResponse&gt;, Interceptor.AsyncServerStreamingCallContinuation&lt;TRequest, TResponse&gt;)</h4>
+  <div class="markdown level1 summary"><p>Intercepts an asynchronous invocation of a streaming remote call.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public virtual AsyncServerStreamingCall&lt;TResponse&gt; AsyncServerStreamingCall&lt;TRequest, TResponse&gt;(TRequest request, ClientInterceptorContext&lt;TRequest, TResponse&gt; context, Interceptor.AsyncServerStreamingCallContinuation&lt;TRequest, TResponse&gt; continuation)
+    where TRequest : class where TResponse : class</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">TRequest</span></td>
+        <td><span class="parametername">request</span></td>
+        <td><p>The request message of the invocation.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.Interceptors.ClientInterceptorContext-2.html">ClientInterceptorContext</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">context</span></td>
+        <td><p>The <a class="xref" href="Grpc.Core.Interceptors.ClientInterceptorContext-2.html">ClientInterceptorContext&lt;TRequest, TResponse&gt;</a>
+associated with the current invocation.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.Interceptors.Interceptor.AsyncServerStreamingCallContinuation-2.html">Interceptor.AsyncServerStreamingCallContinuation</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">continuation</span></td>
+        <td><p>The callback that continues the invocation process.
+This can be invoked zero or more times by the interceptor.
+The interceptor can invoke the continuation passing the given
+request value and context arguments, or substitute them as it sees fit.</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.AsyncServerStreamingCall-1.html">AsyncServerStreamingCall</a>&lt;TResponse&gt;</td>
+        <td><p>An instance of <a class="xref" href="Grpc.Core.AsyncServerStreamingCall-1.html">AsyncServerStreamingCall&lt;TResponse&gt;</a>
+representing an asynchronous server-streaming invocation.
+The interceptor can simply return the return value of the
+continuation delegate passed to it intact, or construct its
+own substitute as it sees fit.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Interceptors_Interceptor_AsyncUnaryCall_" data-uid="Grpc.Core.Interceptors.Interceptor.AsyncUnaryCall*"></a>
+  <h4 id="Grpc_Core_Interceptors_Interceptor_AsyncUnaryCall__2___0_Grpc_Core_Interceptors_ClientInterceptorContext___0___1__Grpc_Core_Interceptors_Interceptor_AsyncUnaryCallContinuation___0___1__" data-uid="Grpc.Core.Interceptors.Interceptor.AsyncUnaryCall``2(``0,Grpc.Core.Interceptors.ClientInterceptorContext{``0,``1},Grpc.Core.Interceptors.Interceptor.AsyncUnaryCallContinuation{``0,``1})">AsyncUnaryCall&lt;TRequest, TResponse&gt;(TRequest, ClientInterceptorContext&lt;TRequest, TResponse&gt;, Interceptor.AsyncUnaryCallContinuation&lt;TRequest, TResponse&gt;)</h4>
+  <div class="markdown level1 summary"><p>Intercepts an asynchronous invocation of a simple remote call.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public virtual AsyncUnaryCall&lt;TResponse&gt; AsyncUnaryCall&lt;TRequest, TResponse&gt;(TRequest request, ClientInterceptorContext&lt;TRequest, TResponse&gt; context, Interceptor.AsyncUnaryCallContinuation&lt;TRequest, TResponse&gt; continuation)
+    where TRequest : class where TResponse : class</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">TRequest</span></td>
+        <td><span class="parametername">request</span></td>
+        <td><p>The request message of the invocation.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.Interceptors.ClientInterceptorContext-2.html">ClientInterceptorContext</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">context</span></td>
+        <td><p>The <a class="xref" href="Grpc.Core.Interceptors.ClientInterceptorContext-2.html">ClientInterceptorContext&lt;TRequest, TResponse&gt;</a>
+associated with the current invocation.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.Interceptors.Interceptor.AsyncUnaryCallContinuation-2.html">Interceptor.AsyncUnaryCallContinuation</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">continuation</span></td>
+        <td><p>The callback that continues the invocation process.
+This can be invoked zero or more times by the interceptor.
+The interceptor can invoke the continuation passing the given
+request value and context arguments, or substitute them as it sees fit.</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.AsyncUnaryCall-1.html">AsyncUnaryCall</a>&lt;TResponse&gt;</td>
+        <td><p>An instance of <a class="xref" href="Grpc.Core.AsyncUnaryCall-1.html">AsyncUnaryCall&lt;TResponse&gt;</a>
+representing an asynchronous unary invocation.
+The interceptor can simply return the return value of the
+continuation delegate passed to it intact, or construct its
+own substitute as it sees fit.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Interceptors_Interceptor_BlockingUnaryCall_" data-uid="Grpc.Core.Interceptors.Interceptor.BlockingUnaryCall*"></a>
+  <h4 id="Grpc_Core_Interceptors_Interceptor_BlockingUnaryCall__2___0_Grpc_Core_Interceptors_ClientInterceptorContext___0___1__Grpc_Core_Interceptors_Interceptor_BlockingUnaryCallContinuation___0___1__" data-uid="Grpc.Core.Interceptors.Interceptor.BlockingUnaryCall``2(``0,Grpc.Core.Interceptors.ClientInterceptorContext{``0,``1},Grpc.Core.Interceptors.Interceptor.BlockingUnaryCallContinuation{``0,``1})">BlockingUnaryCall&lt;TRequest, TResponse&gt;(TRequest, ClientInterceptorContext&lt;TRequest, TResponse&gt;, Interceptor.BlockingUnaryCallContinuation&lt;TRequest, TResponse&gt;)</h4>
+  <div class="markdown level1 summary"><p>Intercepts a blocking invocation of a simple remote call.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public virtual TResponse BlockingUnaryCall&lt;TRequest, TResponse&gt;(TRequest request, ClientInterceptorContext&lt;TRequest, TResponse&gt; context, Interceptor.BlockingUnaryCallContinuation&lt;TRequest, TResponse&gt; continuation)
+    where TRequest : class where TResponse : class</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">TRequest</span></td>
+        <td><span class="parametername">request</span></td>
+        <td><p>The request message of the invocation.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.Interceptors.ClientInterceptorContext-2.html">ClientInterceptorContext</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">context</span></td>
+        <td><p>The <a class="xref" href="Grpc.Core.Interceptors.ClientInterceptorContext-2.html">ClientInterceptorContext&lt;TRequest, TResponse&gt;</a>
+associated with the current invocation.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.Interceptors.Interceptor.BlockingUnaryCallContinuation-2.html">Interceptor.BlockingUnaryCallContinuation</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">continuation</span></td>
+        <td><p>The callback that continues the invocation process.
+This can be invoked zero or more times by the interceptor.
+The interceptor can invoke the continuation passing the given
+request value and context arguments, or substitute them as it sees fit.</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><span class="xref">TResponse</span></td>
+        <td><p>The response message of the current invocation.
+The interceptor can simply return the return value of the
+continuation delegate passed to it intact, or an arbitrary
+value as it sees fit.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Interceptors_Interceptor_ClientStreamingServerHandler_" data-uid="Grpc.Core.Interceptors.Interceptor.ClientStreamingServerHandler*"></a>
+  <h4 id="Grpc_Core_Interceptors_Interceptor_ClientStreamingServerHandler__2_Grpc_Core_IAsyncStreamReader___0__Grpc_Core_ServerCallContext_Grpc_Core_ClientStreamingServerMethod___0___1__" data-uid="Grpc.Core.Interceptors.Interceptor.ClientStreamingServerHandler``2(Grpc.Core.IAsyncStreamReader{``0},Grpc.Core.ServerCallContext,Grpc.Core.ClientStreamingServerMethod{``0,``1})">ClientStreamingServerHandler&lt;TRequest, TResponse&gt;(IAsyncStreamReader&lt;TRequest&gt;, ServerCallContext, ClientStreamingServerMethod&lt;TRequest, TResponse&gt;)</h4>
+  <div class="markdown level1 summary"><p>Server-side handler for intercepting client streaming call.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public virtual Task&lt;TResponse&gt; ClientStreamingServerHandler&lt;TRequest, TResponse&gt;(IAsyncStreamReader&lt;TRequest&gt; requestStream, ServerCallContext context, ClientStreamingServerMethod&lt;TRequest, TResponse&gt; continuation)
+    where TRequest : class where TResponse : class</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.IAsyncStreamReader-1.html">IAsyncStreamReader</a>&lt;TRequest&gt;</td>
+        <td><span class="parametername">requestStream</span></td>
+        <td><p>The request stream of the incoming invocation.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.ServerCallContext.html">ServerCallContext</a></td>
+        <td><span class="parametername">context</span></td>
+        <td><p>An instance of <a class="xref" href="Grpc.Core.ServerCallContext.html">ServerCallContext</a> representing
+the context of the invocation.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.ClientStreamingServerMethod-2.html">ClientStreamingServerMethod</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">continuation</span></td>
+        <td><p>A delegate that asynchronously proceeds with the invocation, calling
+the next interceptor in the chain, or the service request handler,
+in case of the last interceptor and return the response value of
+the RPC. The interceptor can choose to call it zero or more times
+at its discretion.</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><span class="xref">Task</span>&lt;TResponse&gt;</td>
+        <td><p>A future representing the response value of the RPC. The interceptor
+can simply return the return value from the continuation intact,
+or an arbitrary response value as it sees fit. The interceptor has
+the ability to wrap or substitute the request stream when calling
+the continuation.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>Request message type for this method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>Response message type for this method.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Interceptors_Interceptor_DuplexStreamingServerHandler_" data-uid="Grpc.Core.Interceptors.Interceptor.DuplexStreamingServerHandler*"></a>
+  <h4 id="Grpc_Core_Interceptors_Interceptor_DuplexStreamingServerHandler__2_Grpc_Core_IAsyncStreamReader___0__Grpc_Core_IServerStreamWriter___1__Grpc_Core_ServerCallContext_Grpc_Core_DuplexStreamingServerMethod___0___1__" data-uid="Grpc.Core.Interceptors.Interceptor.DuplexStreamingServerHandler``2(Grpc.Core.IAsyncStreamReader{``0},Grpc.Core.IServerStreamWriter{``1},Grpc.Core.ServerCallContext,Grpc.Core.DuplexStreamingServerMethod{``0,``1})">DuplexStreamingServerHandler&lt;TRequest, TResponse&gt;(IAsyncStreamReader&lt;TRequest&gt;, IServerStreamWriter&lt;TResponse&gt;, ServerCallContext, DuplexStreamingServerMethod&lt;TRequest, TResponse&gt;)</h4>
+  <div class="markdown level1 summary"><p>Server-side handler for intercepting bidirectional streaming calls.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public virtual Task DuplexStreamingServerHandler&lt;TRequest, TResponse&gt;(IAsyncStreamReader&lt;TRequest&gt; requestStream, IServerStreamWriter&lt;TResponse&gt; responseStream, ServerCallContext context, DuplexStreamingServerMethod&lt;TRequest, TResponse&gt; continuation)
+    where TRequest : class where TResponse : class</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.IAsyncStreamReader-1.html">IAsyncStreamReader</a>&lt;TRequest&gt;</td>
+        <td><span class="parametername">requestStream</span></td>
+        <td><p>The request stream of the incoming invocation.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.IServerStreamWriter-1.html">IServerStreamWriter</a>&lt;TResponse&gt;</td>
+        <td><span class="parametername">responseStream</span></td>
+        <td><p>The response stream of the incoming invocation.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.ServerCallContext.html">ServerCallContext</a></td>
+        <td><span class="parametername">context</span></td>
+        <td><p>An instance of <a class="xref" href="Grpc.Core.ServerCallContext.html">ServerCallContext</a> representing
+the context of the invocation.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.DuplexStreamingServerMethod-2.html">DuplexStreamingServerMethod</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">continuation</span></td>
+        <td><p>A delegate that asynchronously proceeds with the invocation, calling
+the next interceptor in the chain, or the service request handler,
+in case of the last interceptor and the interceptor can choose to
+call it zero or more times at its discretion. The interceptor has
+the ability to wrap or substitute the request and response streams
+when calling the continuation.</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><span class="xref">Task</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>Request message type for this method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>Response message type for this method.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Interceptors_Interceptor_ServerStreamingServerHandler_" data-uid="Grpc.Core.Interceptors.Interceptor.ServerStreamingServerHandler*"></a>
+  <h4 id="Grpc_Core_Interceptors_Interceptor_ServerStreamingServerHandler__2___0_Grpc_Core_IServerStreamWriter___1__Grpc_Core_ServerCallContext_Grpc_Core_ServerStreamingServerMethod___0___1__" data-uid="Grpc.Core.Interceptors.Interceptor.ServerStreamingServerHandler``2(``0,Grpc.Core.IServerStreamWriter{``1},Grpc.Core.ServerCallContext,Grpc.Core.ServerStreamingServerMethod{``0,``1})">ServerStreamingServerHandler&lt;TRequest, TResponse&gt;(TRequest, IServerStreamWriter&lt;TResponse&gt;, ServerCallContext, ServerStreamingServerMethod&lt;TRequest, TResponse&gt;)</h4>
+  <div class="markdown level1 summary"><p>Server-side handler for intercepting server streaming call.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public virtual Task ServerStreamingServerHandler&lt;TRequest, TResponse&gt;(TRequest request, IServerStreamWriter&lt;TResponse&gt; responseStream, ServerCallContext context, ServerStreamingServerMethod&lt;TRequest, TResponse&gt; continuation)
+    where TRequest : class where TResponse : class</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">TRequest</span></td>
+        <td><span class="parametername">request</span></td>
+        <td><p>The request value of the incoming invocation.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.IServerStreamWriter-1.html">IServerStreamWriter</a>&lt;TResponse&gt;</td>
+        <td><span class="parametername">responseStream</span></td>
+        <td><p>The response stream of the incoming invocation.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.ServerCallContext.html">ServerCallContext</a></td>
+        <td><span class="parametername">context</span></td>
+        <td><p>An instance of <a class="xref" href="Grpc.Core.ServerCallContext.html">ServerCallContext</a> representing
+the context of the invocation.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.ServerStreamingServerMethod-2.html">ServerStreamingServerMethod</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">continuation</span></td>
+        <td><p>A delegate that asynchronously proceeds with the invocation, calling
+the next interceptor in the chain, or the service request handler,
+in case of the last interceptor and the interceptor can choose to
+call it zero or more times at its discretion. The interceptor has
+the ability to wrap or substitute the request value and the response stream
+when calling the continuation.</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><span class="xref">Task</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>Request message type for this method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>Response message type for this method.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Interceptors_Interceptor_UnaryServerHandler_" data-uid="Grpc.Core.Interceptors.Interceptor.UnaryServerHandler*"></a>
+  <h4 id="Grpc_Core_Interceptors_Interceptor_UnaryServerHandler__2___0_Grpc_Core_ServerCallContext_Grpc_Core_UnaryServerMethod___0___1__" data-uid="Grpc.Core.Interceptors.Interceptor.UnaryServerHandler``2(``0,Grpc.Core.ServerCallContext,Grpc.Core.UnaryServerMethod{``0,``1})">UnaryServerHandler&lt;TRequest, TResponse&gt;(TRequest, ServerCallContext, UnaryServerMethod&lt;TRequest, TResponse&gt;)</h4>
+  <div class="markdown level1 summary"><p>Server-side handler for intercepting and incoming unary call.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public virtual Task&lt;TResponse&gt; UnaryServerHandler&lt;TRequest, TResponse&gt;(TRequest request, ServerCallContext context, UnaryServerMethod&lt;TRequest, TResponse&gt; continuation)
+    where TRequest : class where TResponse : class</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">TRequest</span></td>
+        <td><span class="parametername">request</span></td>
+        <td><p>The request value of the incoming invocation.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.ServerCallContext.html">ServerCallContext</a></td>
+        <td><span class="parametername">context</span></td>
+        <td><p>An instance of <a class="xref" href="Grpc.Core.ServerCallContext.html">ServerCallContext</a> representing
+the context of the invocation.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.UnaryServerMethod-2.html">UnaryServerMethod</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">continuation</span></td>
+        <td><p>A delegate that asynchronously proceeds with the invocation, calling
+the next interceptor in the chain, or the service request handler,
+in case of the last interceptor and return the response value of
+the RPC. The interceptor can choose to call it zero or more times
+at its discretion.</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><span class="xref">Task</span>&lt;TResponse&gt;</td>
+        <td><p>A future representing the response value of the RPC. The interceptor
+can simply return the return value from the continuation intact,
+or an arbitrary response value as it sees fit.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>Request message type for this method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>Response message type for this method.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 182 - 0
csharp-dotnet/api/Grpc.Core.Interceptors.html

@@ -0,0 +1,182 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Namespace Grpc.Core.Interceptors
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Namespace Grpc.Core.Interceptors
+   | gRPC for .NET ">
+    <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">
+  
+  <h1 id="Grpc_Core_Interceptors" data-uid="Grpc.Core.Interceptors" class="text-break">Namespace Grpc.Core.Interceptors
+  </h1>
+  <div class="markdown level0 summary"></div>
+  <div class="markdown level0 conceptual"></div>
+  <div class="markdown level0 remarks"></div>
+    <h3 id="classes">Classes
+  </h3>
+      <h4><a class="xref" href="Grpc.Core.Interceptors.CallInvokerExtensions.html">CallInvokerExtensions</a></h4>
+      <section><p>Extends the CallInvoker class to provide the interceptor facility on the client side.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.Interceptors.ChannelExtensions.html">ChannelExtensions</a></h4>
+      <section><p>Provides extension methods to make it easy to register interceptors on Channel objects.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.Interceptors.Interceptor.html">Interceptor</a></h4>
+      <section><p>Serves as the base class for gRPC interceptors.</p>
+</section>
+    <h3 id="structs">Structs
+  </h3>
+      <h4><a class="xref" href="Grpc.Core.Interceptors.ClientInterceptorContext-2.html">ClientInterceptorContext&lt;TRequest, TResponse&gt;</a></h4>
+      <section><p>Carries along the context associated with intercepted invocations on the client side.</p>
+</section>
+    <h3 id="delegates">Delegates
+  </h3>
+      <h4><a class="xref" href="Grpc.Core.Interceptors.Interceptor.AsyncClientStreamingCallContinuation-2.html">Interceptor.AsyncClientStreamingCallContinuation&lt;TRequest, TResponse&gt;</a></h4>
+      <section><p>Represents a continuation for intercepting asynchronous client-streaming invocations.
+A delegate of this type is passed to the AsyncClientStreamingCall method
+when an outgoing invocation is being intercepted and calling the
+delegate will invoke the next interceptor in the chain, or the underlying
+call invoker if called from the last interceptor. The interceptor is
+allowed to call it zero, one, or multiple times, passing it the appropriate
+request value and context as it sees fit.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.Interceptors.Interceptor.AsyncDuplexStreamingCallContinuation-2.html">Interceptor.AsyncDuplexStreamingCallContinuation&lt;TRequest, TResponse&gt;</a></h4>
+      <section><p>Represents a continuation for intercepting asynchronous duplex invocations.
+A delegate of this type is passed to the AsyncDuplexStreamingCall method
+when an outgoing invocation is being intercepted and calling the
+delegate will invoke the next interceptor in the chain, or the underlying
+call invoker if called from the last interceptor. The interceptor is
+allowed to call it zero, one, or multiple times, passing it the appropriate
+request value and context as it sees fit.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.Interceptors.Interceptor.AsyncServerStreamingCallContinuation-2.html">Interceptor.AsyncServerStreamingCallContinuation&lt;TRequest, TResponse&gt;</a></h4>
+      <section><p>Represents a continuation for intercepting asynchronous server-streaming invocations.
+A delegate of this type is passed to the AsyncServerStreamingCall method
+when an outgoing invocation is being intercepted and calling the
+delegate will invoke the next interceptor in the chain, or the underlying
+call invoker if called from the last interceptor. The interceptor is
+allowed to call it zero, one, or multiple times, passing it the appropriate
+request value and context as it sees fit.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.Interceptors.Interceptor.AsyncUnaryCallContinuation-2.html">Interceptor.AsyncUnaryCallContinuation&lt;TRequest, TResponse&gt;</a></h4>
+      <section><p>Represents a continuation for intercepting simple asynchronous invocations.
+A delegate of this type is passed to the AsyncUnaryCall method
+when an outgoing invocation is being intercepted and calling the
+delegate will invoke the next interceptor in the chain, or the underlying
+call invoker if called from the last interceptor. The interceptor is
+allowed to call it zero, one, or multiple times, passing it the appropriate
+request value and context as it sees fit.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.Interceptors.Interceptor.BlockingUnaryCallContinuation-2.html">Interceptor.BlockingUnaryCallContinuation&lt;TRequest, TResponse&gt;</a></h4>
+      <section><p>Represents a continuation for intercepting simple blocking invocations.
+A delegate of this type is passed to the BlockingUnaryCall method
+when an outgoing invocation is being intercepted and calling the
+delegate will invoke the next interceptor in the chain, or the underlying
+call invoker if called from the last interceptor. The interceptor is
+allowed to call it zero, one, or multiple times, passing it the appropriate
+context and request values as it sees fit.</p>
+</section>
+</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>

+ 216 - 0
csharp-dotnet/api/Grpc.Core.KeyCertificatePair.html

@@ -0,0 +1,216 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class KeyCertificatePair
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class KeyCertificatePair
+   | gRPC for .NET ">
+    <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.KeyCertificatePair">
+  
+  
+  <h1 id="Grpc_Core_KeyCertificatePair" data-uid="Grpc.Core.KeyCertificatePair" class="text-break">Class KeyCertificatePair
+  </h1>
+  <div class="markdown level0 summary"><p>Key certificate pair (in PEM encoding).</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">KeyCertificatePair</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_KeyCertificatePair_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public sealed class KeyCertificatePair : object</code></pre>
+  </div>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Core_KeyCertificatePair__ctor_" data-uid="Grpc.Core.KeyCertificatePair.#ctor*"></a>
+  <h4 id="Grpc_Core_KeyCertificatePair__ctor_System_String_System_String_" data-uid="Grpc.Core.KeyCertificatePair.#ctor(System.String,System.String)">KeyCertificatePair(String, String)</h4>
+  <div class="markdown level1 summary"><p>Creates a new certificate chain - private key pair.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public KeyCertificatePair(string certificateChain, string privateKey)</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">certificateChain</span></td>
+        <td><p>PEM encoded certificate chain.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.String</span></td>
+        <td><span class="parametername">privateKey</span></td>
+        <td><p>PEM encoded private key.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_KeyCertificatePair_CertificateChain_" data-uid="Grpc.Core.KeyCertificatePair.CertificateChain*"></a>
+  <h4 id="Grpc_Core_KeyCertificatePair_CertificateChain" data-uid="Grpc.Core.KeyCertificatePair.CertificateChain">CertificateChain</h4>
+  <div class="markdown level1 summary"><p>PEM encoded certificate chain.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public string CertificateChain { 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>
+  <a id="Grpc_Core_KeyCertificatePair_PrivateKey_" data-uid="Grpc.Core.KeyCertificatePair.PrivateKey*"></a>
+  <h4 id="Grpc_Core_KeyCertificatePair_PrivateKey" data-uid="Grpc.Core.KeyCertificatePair.PrivateKey">PrivateKey</h4>
+  <div class="markdown level1 summary"><p>PEM encoded private key.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public string PrivateKey { 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>
+</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>

+ 202 - 0
csharp-dotnet/api/Grpc.Core.LiteClientBase.html

@@ -0,0 +1,202 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class LiteClientBase
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class LiteClientBase
+   | gRPC for .NET ">
+    <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.LiteClientBase">
+  
+  
+  <h1 id="Grpc_Core_LiteClientBase" data-uid="Grpc.Core.LiteClientBase" class="text-break">Class LiteClientBase
+  </h1>
+  <div class="markdown level0 summary"><p>Base class for lightweight client-side stubs.
+All calls are invoked via a <code>CallInvoker</code>.
+Lite client stubs have no configuration knobs, all configuration
+is provided by decorating the call invoker.
+Note: experimental API that can change or be removed without any prior notice.</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">LiteClientBase</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_LiteClientBase_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract class LiteClientBase : object</code></pre>
+  </div>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Core_LiteClientBase__ctor_" data-uid="Grpc.Core.LiteClientBase.#ctor*"></a>
+  <h4 id="Grpc_Core_LiteClientBase__ctor" data-uid="Grpc.Core.LiteClientBase.#ctor">LiteClientBase()</h4>
+  <div class="markdown level1 summary"><p>Initializes a new instance of <code>LiteClientBase</code> class that
+throws <code>NotImplementedException</code> upon invocation of any RPC.
+This constructor is only provided to allow creation of test doubles
+for client classes (e.g. mocking requires a parameterless constructor).</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">protected LiteClientBase()</code></pre>
+  </div>
+  <a id="Grpc_Core_LiteClientBase__ctor_" data-uid="Grpc.Core.LiteClientBase.#ctor*"></a>
+  <h4 id="Grpc_Core_LiteClientBase__ctor_Grpc_Core_CallInvoker_" data-uid="Grpc.Core.LiteClientBase.#ctor(Grpc.Core.CallInvoker)">LiteClientBase(CallInvoker)</h4>
+  <div class="markdown level1 summary"><p>Initializes a new instance of <code>ClientBase</code> class.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public LiteClientBase(CallInvoker callInvoker)</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.CallInvoker.html">CallInvoker</a></td>
+        <td><span class="parametername">callInvoker</span></td>
+        <td><p>The <code>CallInvoker</code> for remote call invocation.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_LiteClientBase_CallInvoker_" data-uid="Grpc.Core.LiteClientBase.CallInvoker*"></a>
+  <h4 id="Grpc_Core_LiteClientBase_CallInvoker" data-uid="Grpc.Core.LiteClientBase.CallInvoker">CallInvoker</h4>
+  <div class="markdown level1 summary"><p>Gets the call invoker.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">protected CallInvoker CallInvoker { 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><a class="xref" href="Grpc.Core.CallInvoker.html">CallInvoker</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 317 - 0
csharp-dotnet/api/Grpc.Core.Marshaller-1.html

@@ -0,0 +1,317 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class Marshaller&lt;T&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class Marshaller&lt;T&gt;
+   | gRPC for .NET ">
+    <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.Marshaller`1">
+  
+  
+  <h1 id="Grpc_Core_Marshaller_1" data-uid="Grpc.Core.Marshaller`1" class="text-break">Class Marshaller&lt;T&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>Encapsulates the logic for serializing and deserializing messages.</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">Marshaller&lt;T&gt;</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_Marshaller_1_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public class Marshaller&lt;T&gt; : object</code></pre>
+  </div>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">T</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Core_Marshaller_1__ctor_" data-uid="Grpc.Core.Marshaller`1.#ctor*"></a>
+  <h4 id="Grpc_Core_Marshaller_1__ctor_Action__0_Grpc_Core_SerializationContext__Func_Grpc_Core_DeserializationContext__0__" data-uid="Grpc.Core.Marshaller`1.#ctor(Action{`0,Grpc.Core.SerializationContext},Func{Grpc.Core.DeserializationContext,`0})">Marshaller(Action&lt;T, SerializationContext&gt;, Func&lt;DeserializationContext, T&gt;)</h4>
+  <div class="markdown level1 summary"><p>Initializes a new marshaller from serialize/deserialize fuctions that can access serialization and deserialization
+context. Compared to the simple serializer/deserializer functions, using the contextual version provides more
+flexibility and can lead to increased efficiency (and better performance).
+Note: This constructor is part of an experimental API that can change or be removed without any prior notice.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Marshaller(Action&lt;T, SerializationContext&gt; serializer, Func&lt;DeserializationContext, T&gt; deserializer)</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">Action</span>&lt;T, <a class="xref" href="Grpc.Core.SerializationContext.html">SerializationContext</a>&gt;</td>
+        <td><span class="parametername">serializer</span></td>
+        <td><p>Function that will be used to serialize messages.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Func</span>&lt;<a class="xref" href="Grpc.Core.DeserializationContext.html">DeserializationContext</a>, T&gt;</td>
+        <td><span class="parametername">deserializer</span></td>
+        <td><p>Function that will be used to deserialize messages.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Marshaller_1__ctor_" data-uid="Grpc.Core.Marshaller`1.#ctor*"></a>
+  <h4 id="Grpc_Core_Marshaller_1__ctor_Func__0_System_Byte____Func_System_Byte____0__" data-uid="Grpc.Core.Marshaller`1.#ctor(Func{`0,System.Byte[]},Func{System.Byte[],`0})">Marshaller(Func&lt;T, Byte[]&gt;, Func&lt;Byte[], T&gt;)</h4>
+  <div class="markdown level1 summary"><p>Initializes a new marshaller from simple serialize/deserialize functions.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Marshaller(Func&lt;T, byte[]&gt; serializer, Func&lt;byte[], T&gt; deserializer)</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">Func</span>&lt;T, <span class="xref">System.Byte</span>[]&gt;</td>
+        <td><span class="parametername">serializer</span></td>
+        <td><p>Function that will be used to serialize messages.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Func</span>&lt;<span class="xref">System.Byte</span>[], T&gt;</td>
+        <td><span class="parametername">deserializer</span></td>
+        <td><p>Function that will be used to deserialize messages.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_Marshaller_1_ContextualDeserializer_" data-uid="Grpc.Core.Marshaller`1.ContextualDeserializer*"></a>
+  <h4 id="Grpc_Core_Marshaller_1_ContextualDeserializer" data-uid="Grpc.Core.Marshaller`1.ContextualDeserializer">ContextualDeserializer</h4>
+  <div class="markdown level1 summary"><p>Gets the serializer function.
+Note: experimental API that can change or be removed without any prior notice.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Func&lt;DeserializationContext, T&gt; ContextualDeserializer { 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">Func</span>&lt;<a class="xref" href="Grpc.Core.DeserializationContext.html">DeserializationContext</a>, T&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Marshaller_1_ContextualSerializer_" data-uid="Grpc.Core.Marshaller`1.ContextualSerializer*"></a>
+  <h4 id="Grpc_Core_Marshaller_1_ContextualSerializer" data-uid="Grpc.Core.Marshaller`1.ContextualSerializer">ContextualSerializer</h4>
+  <div class="markdown level1 summary"><p>Gets the serializer function.
+Note: experimental API that can change or be removed without any prior notice.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Action&lt;T, SerializationContext&gt; ContextualSerializer { 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">Action</span>&lt;T, <a class="xref" href="Grpc.Core.SerializationContext.html">SerializationContext</a>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Marshaller_1_Deserializer_" data-uid="Grpc.Core.Marshaller`1.Deserializer*"></a>
+  <h4 id="Grpc_Core_Marshaller_1_Deserializer" data-uid="Grpc.Core.Marshaller`1.Deserializer">Deserializer</h4>
+  <div class="markdown level1 summary"><p>Gets the deserializer function.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Func&lt;byte[], T&gt; Deserializer { 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">Func</span>&lt;<span class="xref">System.Byte</span>[], T&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Marshaller_1_Serializer_" data-uid="Grpc.Core.Marshaller`1.Serializer*"></a>
+  <h4 id="Grpc_Core_Marshaller_1_Serializer" data-uid="Grpc.Core.Marshaller`1.Serializer">Serializer</h4>
+  <div class="markdown level1 summary"><p>Gets the serializer function.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Func&lt;T, byte[]&gt; Serializer { 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">Func</span>&lt;T, <span class="xref">System.Byte</span>[]&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 282 - 0
csharp-dotnet/api/Grpc.Core.Marshallers.html

@@ -0,0 +1,282 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class Marshallers
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class Marshallers
+   | gRPC for .NET ">
+    <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.Marshallers">
+  
+  
+  <h1 id="Grpc_Core_Marshallers" data-uid="Grpc.Core.Marshallers" class="text-break">Class Marshallers
+  </h1>
+  <div class="markdown level0 summary"><p>Utilities for creating marshallers.</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">Marshallers</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_Marshallers_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static class Marshallers : object</code></pre>
+  </div>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_Marshallers_StringMarshaller_" data-uid="Grpc.Core.Marshallers.StringMarshaller*"></a>
+  <h4 id="Grpc_Core_Marshallers_StringMarshaller" data-uid="Grpc.Core.Marshallers.StringMarshaller">StringMarshaller</h4>
+  <div class="markdown level1 summary"><p>Returns a marshaller for <code>string</code> type. This is useful for testing.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static Marshaller&lt;string&gt; StringMarshaller { 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><a class="xref" href="Grpc.Core.Marshaller-1.html">Marshaller</a>&lt;<span class="xref">System.String</span>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_Marshallers_Create_" data-uid="Grpc.Core.Marshallers.Create*"></a>
+  <h4 id="Grpc_Core_Marshallers_Create__1_Action___0_Grpc_Core_SerializationContext__Func_Grpc_Core_DeserializationContext___0__" data-uid="Grpc.Core.Marshallers.Create``1(Action{``0,Grpc.Core.SerializationContext},Func{Grpc.Core.DeserializationContext,``0})">Create&lt;T&gt;(Action&lt;T, SerializationContext&gt;, Func&lt;DeserializationContext, T&gt;)</h4>
+  <div class="markdown level1 summary"><p>Creates a marshaller from specified contextual serializer and deserializer.
+Note: This method is part of an experimental API that can change or be removed without any prior notice.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static Marshaller&lt;T&gt; Create&lt;T&gt;(Action&lt;T, SerializationContext&gt; serializer, Func&lt;DeserializationContext, T&gt; deserializer)</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">Action</span>&lt;T, <a class="xref" href="Grpc.Core.SerializationContext.html">SerializationContext</a>&gt;</td>
+        <td><span class="parametername">serializer</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="xref">Func</span>&lt;<a class="xref" href="Grpc.Core.DeserializationContext.html">DeserializationContext</a>, T&gt;</td>
+        <td><span class="parametername">deserializer</span></td>
+        <td></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.Marshaller-1.html">Marshaller</a>&lt;T&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">T</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Marshallers_Create_" data-uid="Grpc.Core.Marshallers.Create*"></a>
+  <h4 id="Grpc_Core_Marshallers_Create__1_Func___0_System_Byte____Func_System_Byte_____0__" data-uid="Grpc.Core.Marshallers.Create``1(Func{``0,System.Byte[]},Func{System.Byte[],``0})">Create&lt;T&gt;(Func&lt;T, Byte[]&gt;, Func&lt;Byte[], T&gt;)</h4>
+  <div class="markdown level1 summary"><p>Creates a marshaller from specified serializer and deserializer.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static Marshaller&lt;T&gt; Create&lt;T&gt;(Func&lt;T, byte[]&gt; serializer, Func&lt;byte[], T&gt; deserializer)</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">Func</span>&lt;T, <span class="xref">System.Byte</span>[]&gt;</td>
+        <td><span class="parametername">serializer</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="xref">Func</span>&lt;<span class="xref">System.Byte</span>[], T&gt;</td>
+        <td><span class="parametername">deserializer</span></td>
+        <td></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.Marshaller-1.html">Marshaller</a>&lt;T&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">T</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 323 - 0
csharp-dotnet/api/Grpc.Core.Metadata.Entry.html

@@ -0,0 +1,323 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class Metadata.Entry
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class Metadata.Entry
+   | gRPC for .NET ">
+    <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.Metadata.Entry">
+  
+  
+  <h1 id="Grpc_Core_Metadata_Entry" data-uid="Grpc.Core.Metadata.Entry" class="text-break">Class Metadata.Entry
+  </h1>
+  <div class="markdown level0 summary"><p>Metadata entry</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">Metadata.Entry</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_Metadata_Entry_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public class Entry : object</code></pre>
+  </div>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Core_Metadata_Entry__ctor_" data-uid="Grpc.Core.Metadata.Entry.#ctor*"></a>
+  <h4 id="Grpc_Core_Metadata_Entry__ctor_System_String_System_Byte___" data-uid="Grpc.Core.Metadata.Entry.#ctor(System.String,System.Byte[])">Entry(String, Byte[])</h4>
+  <div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Grpc.Core.Metadata.Entry.html">Metadata.Entry</a> struct with a binary value.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Entry(string key, byte[] valueBytes)</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">key</span></td>
+        <td><p>Metadata key. Gets converted to lowercase. Needs to have suffix indicating a binary valued metadata entry. Can only contain lowercase alphanumeric characters, underscores, hyphens and dots.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.Byte</span>[]</td>
+        <td><span class="parametername">valueBytes</span></td>
+        <td><p>Value bytes.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Metadata_Entry__ctor_" data-uid="Grpc.Core.Metadata.Entry.#ctor*"></a>
+  <h4 id="Grpc_Core_Metadata_Entry__ctor_System_String_System_String_" data-uid="Grpc.Core.Metadata.Entry.#ctor(System.String,System.String)">Entry(String, String)</h4>
+  <div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Grpc.Core.Metadata.Entry.html">Metadata.Entry</a> struct with an ASCII value.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Entry(string key, string value)</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">key</span></td>
+        <td><p>Metadata key. Gets converted to lowercase. Must not use suffix indicating a binary valued metadata entry. Can only contain lowercase alphanumeric characters, underscores, hyphens and dots.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.String</span></td>
+        <td><span class="parametername">value</span></td>
+        <td><p>Value string. Only ASCII characters are allowed.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_Metadata_Entry_IsBinary_" data-uid="Grpc.Core.Metadata.Entry.IsBinary*"></a>
+  <h4 id="Grpc_Core_Metadata_Entry_IsBinary" data-uid="Grpc.Core.Metadata.Entry.IsBinary">IsBinary</h4>
+  <div class="markdown level1 summary"><p>Returns <code>true</code> if this entry is a binary-value entry.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public bool IsBinary { 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.Boolean</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Metadata_Entry_Key_" data-uid="Grpc.Core.Metadata.Entry.Key*"></a>
+  <h4 id="Grpc_Core_Metadata_Entry_Key" data-uid="Grpc.Core.Metadata.Entry.Key">Key</h4>
+  <div class="markdown level1 summary"><p>Gets the metadata entry key.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public string Key { 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>
+  <a id="Grpc_Core_Metadata_Entry_Value_" data-uid="Grpc.Core.Metadata.Entry.Value*"></a>
+  <h4 id="Grpc_Core_Metadata_Entry_Value" data-uid="Grpc.Core.Metadata.Entry.Value">Value</h4>
+  <div class="markdown level1 summary"><p>Gets the string value of this metadata entry.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public string Value { 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>
+  <a id="Grpc_Core_Metadata_Entry_ValueBytes_" data-uid="Grpc.Core.Metadata.Entry.ValueBytes*"></a>
+  <h4 id="Grpc_Core_Metadata_Entry_ValueBytes" data-uid="Grpc.Core.Metadata.Entry.ValueBytes">ValueBytes</h4>
+  <div class="markdown level1 summary"><p>Gets the binary value of this metadata entry.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public byte[] ValueBytes { 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.Byte</span>[]</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_Metadata_Entry_ToString_" data-uid="Grpc.Core.Metadata.Entry.ToString*"></a>
+  <h4 id="Grpc_Core_Metadata_Entry_ToString" data-uid="Grpc.Core.Metadata.Entry.ToString">ToString()</h4>
+  <div class="markdown level1 summary"><p>Returns a <see cref="!:System.String"></see> that represents the current <a class="xref" href="Grpc.Core.Metadata.Entry.html">Metadata.Entry</a>.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public override string ToString()</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.String</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 617 - 0
csharp-dotnet/api/Grpc.Core.Metadata.html

@@ -0,0 +1,617 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class Metadata
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class Metadata
+   | gRPC for .NET ">
+    <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.Metadata">
+  
+  
+  <h1 id="Grpc_Core_Metadata" data-uid="Grpc.Core.Metadata" class="text-break">Class Metadata
+  </h1>
+  <div class="markdown level0 summary"><p>A collection of metadata entries that can be exchanged during a call.
+gRPC supports these types of metadata:
+<ul><li>Request headersare sent by the client at the beginning of a remote call before any request messages are sent.</li><li>Response headersare sent by the server at the beginning of a remote call handler before any response messages are sent.</li><li>Response trailersare sent by the server at the end of a remote call along with resulting call status.</li></ul></p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <div class="inheritance">
+    <h5>Inheritance</h5>
+    <div class="level0"><span class="xref">IList</span>&lt;<a class="xref" href="Grpc.Core.Metadata.Entry.html">Metadata.Entry</a>&gt;</div>
+    <div class="level1"><span class="xref">Metadata</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_Metadata_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public sealed class Metadata : IList&lt;Metadata.Entry&gt;</code></pre>
+  </div>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Core_Metadata__ctor_" data-uid="Grpc.Core.Metadata.#ctor*"></a>
+  <h4 id="Grpc_Core_Metadata__ctor" data-uid="Grpc.Core.Metadata.#ctor">Metadata()</h4>
+  <div class="markdown level1 summary"><p>Initializes a new instance of <code>Metadata</code>.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Metadata()</code></pre>
+  </div>
+  <h3 id="fields">Fields
+  </h3>
+  <h4 id="Grpc_Core_Metadata_BinaryHeaderSuffix" data-uid="Grpc.Core.Metadata.BinaryHeaderSuffix">BinaryHeaderSuffix</h4>
+  <div class="markdown level1 summary"><p>All binary headers should have this suffix.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public const string BinaryHeaderSuffix = null</code></pre>
+  </div>
+  <h5 class="fieldValue">Field 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>
+  <h4 id="Grpc_Core_Metadata_Empty" data-uid="Grpc.Core.Metadata.Empty">Empty</h4>
+  <div class="markdown level1 summary"><p>An read-only instance of metadata containing no entries.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static readonly Metadata Empty</code></pre>
+  </div>
+  <h5 class="fieldValue">Field Value</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.Metadata.html">Metadata</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_Metadata_Count_" data-uid="Grpc.Core.Metadata.Count*"></a>
+  <h4 id="Grpc_Core_Metadata_Count" data-uid="Grpc.Core.Metadata.Count">Count</h4>
+  <div class="markdown level1 summary"><span class="xref">IList&lt;&gt;</span>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public int Count { 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.Int32</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Metadata_IsReadOnly_" data-uid="Grpc.Core.Metadata.IsReadOnly*"></a>
+  <h4 id="Grpc_Core_Metadata_IsReadOnly" data-uid="Grpc.Core.Metadata.IsReadOnly">IsReadOnly</h4>
+  <div class="markdown level1 summary"><span class="xref">IList&lt;&gt;</span>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public bool IsReadOnly { 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.Boolean</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Metadata_Item_" data-uid="Grpc.Core.Metadata.Item*"></a>
+  <h4 id="Grpc_Core_Metadata_Item_System_Int32_" data-uid="Grpc.Core.Metadata.Item(System.Int32)">Item[Int32]</h4>
+  <div class="markdown level1 summary"><span class="xref">IList&lt;&gt;</span>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Metadata.Entry this[int index] { get; set; }</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.Int32</span></td>
+        <td><span class="parametername">index</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <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><a class="xref" href="Grpc.Core.Metadata.Entry.html">Metadata.Entry</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_Metadata_Add_" data-uid="Grpc.Core.Metadata.Add*"></a>
+  <h4 id="Grpc_Core_Metadata_Add_Grpc_Core_Metadata_Entry_" data-uid="Grpc.Core.Metadata.Add(Grpc.Core.Metadata.Entry)">Add(Metadata.Entry)</h4>
+  <div class="markdown level1 summary"><span class="xref">IList&lt;&gt;</span>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public void Add(Metadata.Entry item)</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.Metadata.Entry.html">Metadata.Entry</a></td>
+        <td><span class="parametername">item</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Metadata_Add_" data-uid="Grpc.Core.Metadata.Add*"></a>
+  <h4 id="Grpc_Core_Metadata_Add_System_String_System_Byte___" data-uid="Grpc.Core.Metadata.Add(System.String,System.Byte[])">Add(String, Byte[])</h4>
+  <div class="markdown level1 summary"><p>Adds a new binary-valued metadata entry. See <code>Metadata.Entry</code> constructor for params.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public void Add(string key, byte[] valueBytes)</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">key</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.Byte</span>[]</td>
+        <td><span class="parametername">valueBytes</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Metadata_Add_" data-uid="Grpc.Core.Metadata.Add*"></a>
+  <h4 id="Grpc_Core_Metadata_Add_System_String_System_String_" data-uid="Grpc.Core.Metadata.Add(System.String,System.String)">Add(String, String)</h4>
+  <div class="markdown level1 summary"><p>Adds a new ASCII-valued metadata entry. See <code>Metadata.Entry</code> constructor for params.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public void Add(string key, string value)</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">key</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.String</span></td>
+        <td><span class="parametername">value</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Metadata_Clear_" data-uid="Grpc.Core.Metadata.Clear*"></a>
+  <h4 id="Grpc_Core_Metadata_Clear" data-uid="Grpc.Core.Metadata.Clear">Clear()</h4>
+  <div class="markdown level1 summary"><span class="xref">IList&lt;&gt;</span>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public void Clear()</code></pre>
+  </div>
+  <a id="Grpc_Core_Metadata_Contains_" data-uid="Grpc.Core.Metadata.Contains*"></a>
+  <h4 id="Grpc_Core_Metadata_Contains_Grpc_Core_Metadata_Entry_" data-uid="Grpc.Core.Metadata.Contains(Grpc.Core.Metadata.Entry)">Contains(Metadata.Entry)</h4>
+  <div class="markdown level1 summary"><span class="xref">IList&lt;&gt;</span>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public bool Contains(Metadata.Entry item)</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.Metadata.Entry.html">Metadata.Entry</a></td>
+        <td><span class="parametername">item</span></td>
+        <td></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><span class="xref">System.Boolean</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Metadata_CopyTo_" data-uid="Grpc.Core.Metadata.CopyTo*"></a>
+  <h4 id="Grpc_Core_Metadata_CopyTo_Grpc_Core_Metadata_Entry___System_Int32_" data-uid="Grpc.Core.Metadata.CopyTo(Grpc.Core.Metadata.Entry[],System.Int32)">CopyTo(Metadata.Entry[], Int32)</h4>
+  <div class="markdown level1 summary"><span class="xref">IList&lt;&gt;</span>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public void CopyTo(Metadata.Entry[] array, int arrayIndex)</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.Metadata.Entry.html">Metadata.Entry</a>[]</td>
+        <td><span class="parametername">array</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.Int32</span></td>
+        <td><span class="parametername">arrayIndex</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Metadata_GetEnumerator_" data-uid="Grpc.Core.Metadata.GetEnumerator*"></a>
+  <h4 id="Grpc_Core_Metadata_GetEnumerator" data-uid="Grpc.Core.Metadata.GetEnumerator">GetEnumerator()</h4>
+  <div class="markdown level1 summary"><span class="xref">IList&lt;&gt;</span>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public IEnumerator&lt;Metadata.Entry&gt; GetEnumerator()</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">IEnumerator</span>&lt;<a class="xref" href="Grpc.Core.Metadata.Entry.html">Metadata.Entry</a>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Metadata_IndexOf_" data-uid="Grpc.Core.Metadata.IndexOf*"></a>
+  <h4 id="Grpc_Core_Metadata_IndexOf_Grpc_Core_Metadata_Entry_" data-uid="Grpc.Core.Metadata.IndexOf(Grpc.Core.Metadata.Entry)">IndexOf(Metadata.Entry)</h4>
+  <div class="markdown level1 summary"><span class="xref">IList&lt;&gt;</span>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public int IndexOf(Metadata.Entry item)</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.Metadata.Entry.html">Metadata.Entry</a></td>
+        <td><span class="parametername">item</span></td>
+        <td></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><span class="xref">System.Int32</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Metadata_Insert_" data-uid="Grpc.Core.Metadata.Insert*"></a>
+  <h4 id="Grpc_Core_Metadata_Insert_System_Int32_Grpc_Core_Metadata_Entry_" data-uid="Grpc.Core.Metadata.Insert(System.Int32,Grpc.Core.Metadata.Entry)">Insert(Int32, Metadata.Entry)</h4>
+  <div class="markdown level1 summary"><span class="xref">IList&lt;&gt;</span>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public void Insert(int index, Metadata.Entry item)</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.Int32</span></td>
+        <td><span class="parametername">index</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.Metadata.Entry.html">Metadata.Entry</a></td>
+        <td><span class="parametername">item</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Metadata_Remove_" data-uid="Grpc.Core.Metadata.Remove*"></a>
+  <h4 id="Grpc_Core_Metadata_Remove_Grpc_Core_Metadata_Entry_" data-uid="Grpc.Core.Metadata.Remove(Grpc.Core.Metadata.Entry)">Remove(Metadata.Entry)</h4>
+  <div class="markdown level1 summary"><span class="xref">IList&lt;&gt;</span>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public bool Remove(Metadata.Entry item)</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.Metadata.Entry.html">Metadata.Entry</a></td>
+        <td><span class="parametername">item</span></td>
+        <td></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><span class="xref">System.Boolean</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Metadata_RemoveAt_" data-uid="Grpc.Core.Metadata.RemoveAt*"></a>
+  <h4 id="Grpc_Core_Metadata_RemoveAt_System_Int32_" data-uid="Grpc.Core.Metadata.RemoveAt(System.Int32)">RemoveAt(Int32)</h4>
+  <div class="markdown level1 summary"><span class="xref">IList&lt;&gt;</span>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public void RemoveAt(int index)</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.Int32</span></td>
+        <td><span class="parametername">index</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 360 - 0
csharp-dotnet/api/Grpc.Core.Method-2.html

@@ -0,0 +1,360 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class Method&lt;TRequest, TResponse&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class Method&lt;TRequest, TResponse&gt;
+   | gRPC for .NET ">
+    <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.Method`2">
+  
+  
+  <h1 id="Grpc_Core_Method_2" data-uid="Grpc.Core.Method`2" class="text-break">Class Method&lt;TRequest, TResponse&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>A description of a remote method.</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">Method&lt;TRequest, TResponse&gt;</span></div>
+  </div>
+  <div classs="implements">
+    <h5>Implements</h5>
+    <div><a class="xref" href="Grpc.Core.IMethod.html">IMethod</a></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_Method_2_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public class Method&lt;TRequest, TResponse&gt; : object, IMethod</code></pre>
+  </div>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>Request message type for this method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>Response message type for this method.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Core_Method_2__ctor_" data-uid="Grpc.Core.Method`2.#ctor*"></a>
+  <h4 id="Grpc_Core_Method_2__ctor_Grpc_Core_MethodType_System_String_System_String_Grpc_Core_Marshaller__0__Grpc_Core_Marshaller__1__" data-uid="Grpc.Core.Method`2.#ctor(Grpc.Core.MethodType,System.String,System.String,Grpc.Core.Marshaller{`0},Grpc.Core.Marshaller{`1})">Method(MethodType, String, String, Marshaller&lt;TRequest&gt;, Marshaller&lt;TResponse&gt;)</h4>
+  <div class="markdown level1 summary"><p>Initializes a new instance of the <code>Method</code> class.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Method(MethodType type, string serviceName, string name, Marshaller&lt;TRequest&gt; requestMarshaller, Marshaller&lt;TResponse&gt; responseMarshaller)</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.MethodType.html">MethodType</a></td>
+        <td><span class="parametername">type</span></td>
+        <td><p>Type of method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.String</span></td>
+        <td><span class="parametername">serviceName</span></td>
+        <td><p>Name of service this method belongs to.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.String</span></td>
+        <td><span class="parametername">name</span></td>
+        <td><p>Unqualified name of the method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.Marshaller-1.html">Marshaller</a>&lt;TRequest&gt;</td>
+        <td><span class="parametername">requestMarshaller</span></td>
+        <td><p>Marshaller used for request messages.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.Marshaller-1.html">Marshaller</a>&lt;TResponse&gt;</td>
+        <td><span class="parametername">responseMarshaller</span></td>
+        <td><p>Marshaller used for response messages.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_Method_2_FullName_" data-uid="Grpc.Core.Method`2.FullName*"></a>
+  <h4 id="Grpc_Core_Method_2_FullName" data-uid="Grpc.Core.Method`2.FullName">FullName</h4>
+  <div class="markdown level1 summary"><p>Gets the fully qualified name of the method. On the server side, methods are dispatched
+based on this name.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public string FullName { 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>
+  <a id="Grpc_Core_Method_2_Name_" data-uid="Grpc.Core.Method`2.Name*"></a>
+  <h4 id="Grpc_Core_Method_2_Name" data-uid="Grpc.Core.Method`2.Name">Name</h4>
+  <div class="markdown level1 summary"><p>Gets the unqualified name of the method.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public string Name { 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>
+  <a id="Grpc_Core_Method_2_RequestMarshaller_" data-uid="Grpc.Core.Method`2.RequestMarshaller*"></a>
+  <h4 id="Grpc_Core_Method_2_RequestMarshaller" data-uid="Grpc.Core.Method`2.RequestMarshaller">RequestMarshaller</h4>
+  <div class="markdown level1 summary"><p>Gets the marshaller used for request messages.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Marshaller&lt;TRequest&gt; RequestMarshaller { 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><a class="xref" href="Grpc.Core.Marshaller-1.html">Marshaller</a>&lt;TRequest&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Method_2_ResponseMarshaller_" data-uid="Grpc.Core.Method`2.ResponseMarshaller*"></a>
+  <h4 id="Grpc_Core_Method_2_ResponseMarshaller" data-uid="Grpc.Core.Method`2.ResponseMarshaller">ResponseMarshaller</h4>
+  <div class="markdown level1 summary"><p>Gets the marshaller used for response messages.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Marshaller&lt;TResponse&gt; ResponseMarshaller { 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><a class="xref" href="Grpc.Core.Marshaller-1.html">Marshaller</a>&lt;TResponse&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Method_2_ServiceName_" data-uid="Grpc.Core.Method`2.ServiceName*"></a>
+  <h4 id="Grpc_Core_Method_2_ServiceName" data-uid="Grpc.Core.Method`2.ServiceName">ServiceName</h4>
+  <div class="markdown level1 summary"><p>Gets the name of the service to which this method belongs.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public string ServiceName { 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>
+  <a id="Grpc_Core_Method_2_Type_" data-uid="Grpc.Core.Method`2.Type*"></a>
+  <h4 id="Grpc_Core_Method_2_Type" data-uid="Grpc.Core.Method`2.Type">Type</h4>
+  <div class="markdown level1 summary"><p>Gets the type of the method.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public MethodType Type { 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><a class="xref" href="Grpc.Core.MethodType.html">MethodType</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="implements">Implements</h3>
+  <div>
+      <a class="xref" href="Grpc.Core.IMethod.html">IMethod</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>

+ 158 - 0
csharp-dotnet/api/Grpc.Core.MethodType.html

@@ -0,0 +1,158 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Enum MethodType
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Enum MethodType
+   | gRPC for .NET ">
+    <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.MethodType">
+  
+  
+  <h1 id="Grpc_Core_MethodType" data-uid="Grpc.Core.MethodType" class="text-break">Enum MethodType
+  </h1>
+  <div class="markdown level0 summary"><p>Method types supported by gRPC.</p>
+</div>
+  <div class="markdown level0 conceptual"></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_MethodType_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public enum MethodType : int</code></pre>
+  </div>
+  <h3 id="fields">Fields
+  </h3>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    <thead>
+    <tbody>
+      <tr>
+        <td id="Grpc_Core_MethodType_ClientStreaming">ClientStreaming</td>
+        <td><p>Stream of request sent from client, single response received from server.</p>
+</td>
+      </tr>
+      <tr>
+        <td id="Grpc_Core_MethodType_DuplexStreaming">DuplexStreaming</td>
+        <td><p>Both server and client can stream arbitrary number of requests and responses simultaneously.</p>
+</td>
+      </tr>
+      <tr>
+        <td id="Grpc_Core_MethodType_ServerStreaming">ServerStreaming</td>
+        <td><p>Single request sent from client, stream of responses received from server.</p>
+</td>
+      </tr>
+      <tr>
+        <td id="Grpc_Core_MethodType_Unary">Unary</td>
+        <td><p>Single request sent from client, single response received from server.</p>
+</td>
+      </tr>
+    </tbody>
+  </thead></thead></table>
+</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>

+ 341 - 0
csharp-dotnet/api/Grpc.Core.RpcException.html

@@ -0,0 +1,341 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class RpcException
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class RpcException
+   | gRPC for .NET ">
+    <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.RpcException">
+  
+  
+  <h1 id="Grpc_Core_RpcException" data-uid="Grpc.Core.RpcException" class="text-break">Class RpcException
+  </h1>
+  <div class="markdown level0 summary"><p>Thrown when remote procedure call fails. Every <code>RpcException</code> is associated with a resulting <a class="xref" href="Grpc.Core.RpcException.html#Grpc_Core_RpcException_Status">Status</a> of the call.</p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <div class="inheritance">
+    <h5>Inheritance</h5>
+    <div class="level0"><span class="xref">Exception</span></div>
+    <div class="level1"><span class="xref">RpcException</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_RpcException_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public class RpcException : Exception</code></pre>
+  </div>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Core_RpcException__ctor_" data-uid="Grpc.Core.RpcException.#ctor*"></a>
+  <h4 id="Grpc_Core_RpcException__ctor_Grpc_Core_Status_" data-uid="Grpc.Core.RpcException.#ctor(Grpc.Core.Status)">RpcException(Status)</h4>
+  <div class="markdown level1 summary"><p>Creates a new <code>RpcException</code> associated with given status.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public RpcException(Status status)</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.Status.html">Status</a></td>
+        <td><span class="parametername">status</span></td>
+        <td><p>Resulting status of a call.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_RpcException__ctor_" data-uid="Grpc.Core.RpcException.#ctor*"></a>
+  <h4 id="Grpc_Core_RpcException__ctor_Grpc_Core_Status_Grpc_Core_Metadata_" data-uid="Grpc.Core.RpcException.#ctor(Grpc.Core.Status,Grpc.Core.Metadata)">RpcException(Status, Metadata)</h4>
+  <div class="markdown level1 summary"><p>Creates a new <code>RpcException</code> associated with given status and trailing response metadata.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public RpcException(Status status, Metadata trailers)</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.Status.html">Status</a></td>
+        <td><span class="parametername">status</span></td>
+        <td><p>Resulting status of a call.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.Metadata.html">Metadata</a></td>
+        <td><span class="parametername">trailers</span></td>
+        <td><p>Response trailing metadata.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_RpcException__ctor_" data-uid="Grpc.Core.RpcException.#ctor*"></a>
+  <h4 id="Grpc_Core_RpcException__ctor_Grpc_Core_Status_Grpc_Core_Metadata_System_String_" data-uid="Grpc.Core.RpcException.#ctor(Grpc.Core.Status,Grpc.Core.Metadata,System.String)">RpcException(Status, Metadata, String)</h4>
+  <div class="markdown level1 summary"><p>Creates a new <code>RpcException</code> associated with given status, message and trailing response metadata.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public RpcException(Status status, Metadata trailers, string message)</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.Status.html">Status</a></td>
+        <td><span class="parametername">status</span></td>
+        <td><p>Resulting status of a call.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.Metadata.html">Metadata</a></td>
+        <td><span class="parametername">trailers</span></td>
+        <td><p>Response trailing metadata.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.String</span></td>
+        <td><span class="parametername">message</span></td>
+        <td><p>The exception message.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_RpcException__ctor_" data-uid="Grpc.Core.RpcException.#ctor*"></a>
+  <h4 id="Grpc_Core_RpcException__ctor_Grpc_Core_Status_System_String_" data-uid="Grpc.Core.RpcException.#ctor(Grpc.Core.Status,System.String)">RpcException(Status, String)</h4>
+  <div class="markdown level1 summary"><p>Creates a new <code>RpcException</code> associated with given status and message.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public RpcException(Status status, string message)</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.Status.html">Status</a></td>
+        <td><span class="parametername">status</span></td>
+        <td><p>Resulting status of a call.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.String</span></td>
+        <td><span class="parametername">message</span></td>
+        <td><p>The exception message.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_RpcException_Status_" data-uid="Grpc.Core.RpcException.Status*"></a>
+  <h4 id="Grpc_Core_RpcException_Status" data-uid="Grpc.Core.RpcException.Status">Status</h4>
+  <div class="markdown level1 summary"><p>Resulting status of the call.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Status Status { 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><a class="xref" href="Grpc.Core.Status.html">Status</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_RpcException_StatusCode_" data-uid="Grpc.Core.RpcException.StatusCode*"></a>
+  <h4 id="Grpc_Core_RpcException_StatusCode" data-uid="Grpc.Core.RpcException.StatusCode">StatusCode</h4>
+  <div class="markdown level1 summary"><p>Returns the status code of the call, as a convenient alternative to <a class="xref" href="Grpc.Core.RpcException.html#Grpc_Core_RpcException_StatusCode">StatusCode</a>.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public StatusCode StatusCode { 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><a class="xref" href="Grpc.Core.StatusCode.html">StatusCode</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_RpcException_Trailers_" data-uid="Grpc.Core.RpcException.Trailers*"></a>
+  <h4 id="Grpc_Core_RpcException_Trailers" data-uid="Grpc.Core.RpcException.Trailers">Trailers</h4>
+  <div class="markdown level1 summary"><p>Gets the call trailing metadata.
+Trailers only have meaningful content for client-side calls (in which case they represent the trailing metadata sent by the server when closing the call).
+Instances of <code>RpcException</code> thrown by the server-side part of the stack will have trailers always set to empty.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Metadata Trailers { 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><a class="xref" href="Grpc.Core.Metadata.html">Metadata</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 162 - 0
csharp-dotnet/api/Grpc.Core.SerializationContext.html

@@ -0,0 +1,162 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class SerializationContext
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class SerializationContext
+   | gRPC for .NET ">
+    <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.SerializationContext">
+  
+  
+  <h1 id="Grpc_Core_SerializationContext" data-uid="Grpc.Core.SerializationContext" class="text-break">Class SerializationContext
+  </h1>
+  <div class="markdown level0 summary"><p>Provides storage for payload when serializing a message.</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">SerializationContext</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_SerializationContext_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract class SerializationContext : object</code></pre>
+  </div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_SerializationContext_Complete_" data-uid="Grpc.Core.SerializationContext.Complete*"></a>
+  <h4 id="Grpc_Core_SerializationContext_Complete_System_Byte___" data-uid="Grpc.Core.SerializationContext.Complete(System.Byte[])">Complete(Byte[])</h4>
+  <div class="markdown level1 summary"><p>Use the byte array as serialized form of current message and mark serialization process as complete.
+Complete() can only be called once. By calling this method the caller gives up the ownership of the
+payload which must not be accessed afterwards.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public virtual void Complete(byte[] payload)</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.Byte</span>[]</td>
+        <td><span class="parametername">payload</span></td>
+        <td><p>the serialized form of current message</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 846 - 0
csharp-dotnet/api/Grpc.Core.ServerCallContext.html

@@ -0,0 +1,846 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class ServerCallContext
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class ServerCallContext
+   | gRPC for .NET ">
+    <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.ServerCallContext">
+  
+  
+  <h1 id="Grpc_Core_ServerCallContext" data-uid="Grpc.Core.ServerCallContext" class="text-break">Class ServerCallContext
+  </h1>
+  <div class="markdown level0 summary"><p>Context for a server-side call.</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">ServerCallContext</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_ServerCallContext_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract class ServerCallContext : object</code></pre>
+  </div>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Core_ServerCallContext__ctor_" data-uid="Grpc.Core.ServerCallContext.#ctor*"></a>
+  <h4 id="Grpc_Core_ServerCallContext__ctor" data-uid="Grpc.Core.ServerCallContext.#ctor">ServerCallContext()</h4>
+  <div class="markdown level1 summary"><p>Creates a new instance of <code>ServerCallContext</code>.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">protected ServerCallContext()</code></pre>
+  </div>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_ServerCallContext_AuthContext_" data-uid="Grpc.Core.ServerCallContext.AuthContext*"></a>
+  <h4 id="Grpc_Core_ServerCallContext_AuthContext" data-uid="Grpc.Core.ServerCallContext.AuthContext">AuthContext</h4>
+  <div class="markdown level1 summary"><p>Gets the <code>AuthContext</code> associated with this call.
+Note: Access to AuthContext is an experimental API that can change without any prior notice.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public AuthContext AuthContext { 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><a class="xref" href="Grpc.Core.AuthContext.html">AuthContext</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServerCallContext_AuthContextCore_" data-uid="Grpc.Core.ServerCallContext.AuthContextCore*"></a>
+  <h4 id="Grpc_Core_ServerCallContext_AuthContextCore" data-uid="Grpc.Core.ServerCallContext.AuthContextCore">AuthContextCore</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 abstract AuthContext AuthContextCore { 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><a class="xref" href="Grpc.Core.AuthContext.html">AuthContext</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServerCallContext_CancellationToken_" data-uid="Grpc.Core.ServerCallContext.CancellationToken*"></a>
+  <h4 id="Grpc_Core_ServerCallContext_CancellationToken" data-uid="Grpc.Core.ServerCallContext.CancellationToken">CancellationToken</h4>
+  <div class="markdown level1 summary"><p>Cancellation token signals when call is cancelled.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public CancellationToken CancellationToken { 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">CancellationToken</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServerCallContext_CancellationTokenCore_" data-uid="Grpc.Core.ServerCallContext.CancellationTokenCore*"></a>
+  <h4 id="Grpc_Core_ServerCallContext_CancellationTokenCore" data-uid="Grpc.Core.ServerCallContext.CancellationTokenCore">CancellationTokenCore</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 abstract CancellationToken CancellationTokenCore { 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">CancellationToken</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServerCallContext_Deadline_" data-uid="Grpc.Core.ServerCallContext.Deadline*"></a>
+  <h4 id="Grpc_Core_ServerCallContext_Deadline" data-uid="Grpc.Core.ServerCallContext.Deadline">Deadline</h4>
+  <div class="markdown level1 summary"><p>Deadline for this RPC.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public DateTime Deadline { 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">DateTime</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServerCallContext_DeadlineCore_" data-uid="Grpc.Core.ServerCallContext.DeadlineCore*"></a>
+  <h4 id="Grpc_Core_ServerCallContext_DeadlineCore" data-uid="Grpc.Core.ServerCallContext.DeadlineCore">DeadlineCore</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 abstract DateTime DeadlineCore { 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">DateTime</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServerCallContext_Host_" data-uid="Grpc.Core.ServerCallContext.Host*"></a>
+  <h4 id="Grpc_Core_ServerCallContext_Host" data-uid="Grpc.Core.ServerCallContext.Host">Host</h4>
+  <div class="markdown level1 summary"><p>Name of host called in this RPC.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public string Host { 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>
+  <a id="Grpc_Core_ServerCallContext_HostCore_" data-uid="Grpc.Core.ServerCallContext.HostCore*"></a>
+  <h4 id="Grpc_Core_ServerCallContext_HostCore" data-uid="Grpc.Core.ServerCallContext.HostCore">HostCore</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 abstract string HostCore { 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>
+  <a id="Grpc_Core_ServerCallContext_Method_" data-uid="Grpc.Core.ServerCallContext.Method*"></a>
+  <h4 id="Grpc_Core_ServerCallContext_Method" data-uid="Grpc.Core.ServerCallContext.Method">Method</h4>
+  <div class="markdown level1 summary"><p>Name of method called in this RPC.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public string Method { 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>
+  <a id="Grpc_Core_ServerCallContext_MethodCore_" data-uid="Grpc.Core.ServerCallContext.MethodCore*"></a>
+  <h4 id="Grpc_Core_ServerCallContext_MethodCore" data-uid="Grpc.Core.ServerCallContext.MethodCore">MethodCore</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 abstract string MethodCore { 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>
+  <a id="Grpc_Core_ServerCallContext_Peer_" data-uid="Grpc.Core.ServerCallContext.Peer*"></a>
+  <h4 id="Grpc_Core_ServerCallContext_Peer" data-uid="Grpc.Core.ServerCallContext.Peer">Peer</h4>
+  <div class="markdown level1 summary"><p>Address of the remote endpoint in URI format.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public string Peer { 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>
+  <a id="Grpc_Core_ServerCallContext_PeerCore_" data-uid="Grpc.Core.ServerCallContext.PeerCore*"></a>
+  <h4 id="Grpc_Core_ServerCallContext_PeerCore" data-uid="Grpc.Core.ServerCallContext.PeerCore">PeerCore</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 abstract string PeerCore { 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>
+  <a id="Grpc_Core_ServerCallContext_RequestHeaders_" data-uid="Grpc.Core.ServerCallContext.RequestHeaders*"></a>
+  <h4 id="Grpc_Core_ServerCallContext_RequestHeaders" data-uid="Grpc.Core.ServerCallContext.RequestHeaders">RequestHeaders</h4>
+  <div class="markdown level1 summary"><p>Initial metadata sent by client.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Metadata RequestHeaders { 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><a class="xref" href="Grpc.Core.Metadata.html">Metadata</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServerCallContext_RequestHeadersCore_" data-uid="Grpc.Core.ServerCallContext.RequestHeadersCore*"></a>
+  <h4 id="Grpc_Core_ServerCallContext_RequestHeadersCore" data-uid="Grpc.Core.ServerCallContext.RequestHeadersCore">RequestHeadersCore</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 abstract Metadata RequestHeadersCore { 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><a class="xref" href="Grpc.Core.Metadata.html">Metadata</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServerCallContext_ResponseTrailers_" data-uid="Grpc.Core.ServerCallContext.ResponseTrailers*"></a>
+  <h4 id="Grpc_Core_ServerCallContext_ResponseTrailers" data-uid="Grpc.Core.ServerCallContext.ResponseTrailers">ResponseTrailers</h4>
+  <div class="markdown level1 summary"><p>Trailers to send back to client after RPC finishes.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Metadata ResponseTrailers { 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><a class="xref" href="Grpc.Core.Metadata.html">Metadata</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServerCallContext_ResponseTrailersCore_" data-uid="Grpc.Core.ServerCallContext.ResponseTrailersCore*"></a>
+  <h4 id="Grpc_Core_ServerCallContext_ResponseTrailersCore" data-uid="Grpc.Core.ServerCallContext.ResponseTrailersCore">ResponseTrailersCore</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 abstract Metadata ResponseTrailersCore { 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><a class="xref" href="Grpc.Core.Metadata.html">Metadata</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServerCallContext_Status_" data-uid="Grpc.Core.ServerCallContext.Status*"></a>
+  <h4 id="Grpc_Core_ServerCallContext_Status" data-uid="Grpc.Core.ServerCallContext.Status">Status</h4>
+  <div class="markdown level1 summary"><p>Status to send back to client after RPC finishes.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Status Status { get; set; }</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><a class="xref" href="Grpc.Core.Status.html">Status</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServerCallContext_StatusCore_" data-uid="Grpc.Core.ServerCallContext.StatusCore*"></a>
+  <h4 id="Grpc_Core_ServerCallContext_StatusCore" data-uid="Grpc.Core.ServerCallContext.StatusCore">StatusCore</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 abstract Status StatusCore { get; set; }</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><a class="xref" href="Grpc.Core.Status.html">Status</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServerCallContext_UserState_" data-uid="Grpc.Core.ServerCallContext.UserState*"></a>
+  <h4 id="Grpc_Core_ServerCallContext_UserState" data-uid="Grpc.Core.ServerCallContext.UserState">UserState</h4>
+  <div class="markdown level1 summary"><p>Gets a dictionary that can be used by the various interceptors and handlers of this
+call to store arbitrary state.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public IDictionary&lt;object, object&gt; UserState { 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">IDictionary</span>&lt;<span class="xref">System.Object</span>, <span class="xref">System.Object</span>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServerCallContext_UserStateCore_" data-uid="Grpc.Core.ServerCallContext.UserStateCore*"></a>
+  <h4 id="Grpc_Core_ServerCallContext_UserStateCore" data-uid="Grpc.Core.ServerCallContext.UserStateCore">UserStateCore</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 IDictionary&lt;object, object&gt; UserStateCore { 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">IDictionary</span>&lt;<span class="xref">System.Object</span>, <span class="xref">System.Object</span>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServerCallContext_WriteOptions_" data-uid="Grpc.Core.ServerCallContext.WriteOptions*"></a>
+  <h4 id="Grpc_Core_ServerCallContext_WriteOptions" data-uid="Grpc.Core.ServerCallContext.WriteOptions">WriteOptions</h4>
+  <div class="markdown level1 summary"><p>Allows setting write options for the following write.
+For streaming response calls, this property is also exposed as on IServerStreamWriter for convenience.
+Both properties are backed by the same underlying value.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public WriteOptions WriteOptions { get; set; }</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><a class="xref" href="Grpc.Core.WriteOptions.html">WriteOptions</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServerCallContext_WriteOptionsCore_" data-uid="Grpc.Core.ServerCallContext.WriteOptionsCore*"></a>
+  <h4 id="Grpc_Core_ServerCallContext_WriteOptionsCore" data-uid="Grpc.Core.ServerCallContext.WriteOptionsCore">WriteOptionsCore</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 abstract WriteOptions WriteOptionsCore { get; set; }</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><a class="xref" href="Grpc.Core.WriteOptions.html">WriteOptions</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_ServerCallContext_CreatePropagationToken_" data-uid="Grpc.Core.ServerCallContext.CreatePropagationToken*"></a>
+  <h4 id="Grpc_Core_ServerCallContext_CreatePropagationToken_Grpc_Core_ContextPropagationOptions_" data-uid="Grpc.Core.ServerCallContext.CreatePropagationToken(Grpc.Core.ContextPropagationOptions)">CreatePropagationToken(ContextPropagationOptions)</h4>
+  <div class="markdown level1 summary"><p>Creates a propagation token to be used to propagate call context to a child call.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public ContextPropagationToken CreatePropagationToken(ContextPropagationOptions options = null)</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.ContextPropagationOptions.html">ContextPropagationOptions</a></td>
+        <td><span class="parametername">options</span></td>
+        <td></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.ContextPropagationToken.html">ContextPropagationToken</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServerCallContext_CreatePropagationTokenCore_" data-uid="Grpc.Core.ServerCallContext.CreatePropagationTokenCore*"></a>
+  <h4 id="Grpc_Core_ServerCallContext_CreatePropagationTokenCore_Grpc_Core_ContextPropagationOptions_" data-uid="Grpc.Core.ServerCallContext.CreatePropagationTokenCore(Grpc.Core.ContextPropagationOptions)">CreatePropagationTokenCore(ContextPropagationOptions)</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 abstract ContextPropagationToken CreatePropagationTokenCore(ContextPropagationOptions options)</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.ContextPropagationOptions.html">ContextPropagationOptions</a></td>
+        <td><span class="parametername">options</span></td>
+        <td></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.ContextPropagationToken.html">ContextPropagationToken</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServerCallContext_WriteResponseHeadersAsync_" data-uid="Grpc.Core.ServerCallContext.WriteResponseHeadersAsync*"></a>
+  <h4 id="Grpc_Core_ServerCallContext_WriteResponseHeadersAsync_Grpc_Core_Metadata_" data-uid="Grpc.Core.ServerCallContext.WriteResponseHeadersAsync(Grpc.Core.Metadata)">WriteResponseHeadersAsync(Metadata)</h4>
+  <div class="markdown level1 summary"><p>Asynchronously sends response headers for the current call to the client. This method may only be invoked once for each call and needs to be invoked
+before any response messages are written. Writing the first response message implicitly sends empty response headers if <code>WriteResponseHeadersAsync</code> haven&apos;t
+been called yet.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Task WriteResponseHeadersAsync(Metadata responseHeaders)</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.Metadata.html">Metadata</a></td>
+        <td><span class="parametername">responseHeaders</span></td>
+        <td><p>The response headers to send.</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><span class="xref">Task</span></td>
+        <td><p>The task that finished once response headers have been written.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServerCallContext_WriteResponseHeadersAsyncCore_" data-uid="Grpc.Core.ServerCallContext.WriteResponseHeadersAsyncCore*"></a>
+  <h4 id="Grpc_Core_ServerCallContext_WriteResponseHeadersAsyncCore_Grpc_Core_Metadata_" data-uid="Grpc.Core.ServerCallContext.WriteResponseHeadersAsyncCore(Grpc.Core.Metadata)">WriteResponseHeadersAsyncCore(Metadata)</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 abstract Task WriteResponseHeadersAsyncCore(Metadata responseHeaders)</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.Metadata.html">Metadata</a></td>
+        <td><span class="parametername">responseHeaders</span></td>
+        <td></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><span class="xref">Task</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 178 - 0
csharp-dotnet/api/Grpc.Core.ServerCallContextExtensions.html

@@ -0,0 +1,178 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class ServerCallContextExtensions
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class ServerCallContextExtensions
+   | gRPC for .NET ">
+    <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.ServerCallContextExtensions">
+  
+  
+  <h1 id="Grpc_Core_ServerCallContextExtensions" data-uid="Grpc.Core.ServerCallContextExtensions" class="text-break">Class ServerCallContextExtensions
+  </h1>
+  <div class="markdown level0 summary"><p>Extension methods for ServerCallContext.</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">ServerCallContextExtensions</span></div>
+  </div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.Core.html">Grpc.Core</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.AspNetCore.Server.dll</h6>
+  <h5 id="Grpc_Core_ServerCallContextExtensions_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static class ServerCallContextExtensions : object</code></pre>
+  </div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_ServerCallContextExtensions_GetHttpContext_" data-uid="Grpc.Core.ServerCallContextExtensions.GetHttpContext*"></a>
+  <h4 id="Grpc_Core_ServerCallContextExtensions_GetHttpContext_ServerCallContext_" data-uid="Grpc.Core.ServerCallContextExtensions.GetHttpContext(ServerCallContext)">GetHttpContext(ServerCallContext)</h4>
+  <div class="markdown level1 summary"><p>Retrieve the <see cref="!:HttpContext"></see> from a <see cref="!:ServerCallContext"></see> if possible. Note that read-only access is
+recommended as changes to the HttpContext is not synchronized with the ServerCallContext. The HttpContext is only available
+when using gRPC with ASP.NET Core.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static HttpContext GetHttpContext(this ServerCallContext serverCallContext)</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">ServerCallContext</span></td>
+        <td><span class="parametername">serverCallContext</span></td>
+        <td><p>The <see cref="!:ServerCallContext"></see> to extract from.</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><span class="xref">HttpContext</span></td>
+        <td><p>The extracted <see cref="!:HttpContext"></see>. If it cannot be extracted, an error will be thrown.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 453 - 0
csharp-dotnet/api/Grpc.Core.ServerServiceDefinition.Builder.html

@@ -0,0 +1,453 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class ServerServiceDefinition.Builder
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class ServerServiceDefinition.Builder
+   | gRPC for .NET ">
+    <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.ServerServiceDefinition.Builder">
+  
+  
+  <h1 id="Grpc_Core_ServerServiceDefinition_Builder" data-uid="Grpc.Core.ServerServiceDefinition.Builder" class="text-break">Class ServerServiceDefinition.Builder
+  </h1>
+  <div class="markdown level0 summary"><p>Builder class for <a class="xref" href="Grpc.Core.ServerServiceDefinition.html">ServerServiceDefinition</a>.</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">ServerServiceDefinition.Builder</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_ServerServiceDefinition_Builder_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public class Builder : object</code></pre>
+  </div>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Core_ServerServiceDefinition_Builder__ctor_" data-uid="Grpc.Core.ServerServiceDefinition.Builder.#ctor*"></a>
+  <h4 id="Grpc_Core_ServerServiceDefinition_Builder__ctor" data-uid="Grpc.Core.ServerServiceDefinition.Builder.#ctor">Builder()</h4>
+  <div class="markdown level1 summary"><p>Creates a new instance of builder.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Builder()</code></pre>
+  </div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_ServerServiceDefinition_Builder_AddMethod_" data-uid="Grpc.Core.ServerServiceDefinition.Builder.AddMethod*"></a>
+  <h4 id="Grpc_Core_ServerServiceDefinition_Builder_AddMethod__2_Grpc_Core_Method___0___1__Grpc_Core_ClientStreamingServerMethod___0___1__" data-uid="Grpc.Core.ServerServiceDefinition.Builder.AddMethod``2(Grpc.Core.Method{``0,``1},Grpc.Core.ClientStreamingServerMethod{``0,``1})">AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt;, ClientStreamingServerMethod&lt;TRequest, TResponse&gt;)</h4>
+  <div class="markdown level1 summary"><p>Adds a definition for a client streaming method.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public ServerServiceDefinition.Builder AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt; method, ClientStreamingServerMethod&lt;TRequest, TResponse&gt; handler)
+    where TRequest : class where TResponse : class</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.Method-2.html">Method</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">method</span></td>
+        <td><p>The method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.ClientStreamingServerMethod-2.html">ClientStreamingServerMethod</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">handler</span></td>
+        <td><p>The method handler.</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.Builder.html">ServerServiceDefinition.Builder</a></td>
+        <td><p>This builder instance.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>The request message class.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>The response message class.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServerServiceDefinition_Builder_AddMethod_" data-uid="Grpc.Core.ServerServiceDefinition.Builder.AddMethod*"></a>
+  <h4 id="Grpc_Core_ServerServiceDefinition_Builder_AddMethod__2_Grpc_Core_Method___0___1__Grpc_Core_DuplexStreamingServerMethod___0___1__" data-uid="Grpc.Core.ServerServiceDefinition.Builder.AddMethod``2(Grpc.Core.Method{``0,``1},Grpc.Core.DuplexStreamingServerMethod{``0,``1})">AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt;, DuplexStreamingServerMethod&lt;TRequest, TResponse&gt;)</h4>
+  <div class="markdown level1 summary"><p>Adds a definition for a bidirectional streaming method.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public ServerServiceDefinition.Builder AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt; method, DuplexStreamingServerMethod&lt;TRequest, TResponse&gt; handler)
+    where TRequest : class where TResponse : class</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.Method-2.html">Method</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">method</span></td>
+        <td><p>The method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.DuplexStreamingServerMethod-2.html">DuplexStreamingServerMethod</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">handler</span></td>
+        <td><p>The method handler.</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.Builder.html">ServerServiceDefinition.Builder</a></td>
+        <td><p>This builder instance.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>The request message class.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>The response message class.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServerServiceDefinition_Builder_AddMethod_" data-uid="Grpc.Core.ServerServiceDefinition.Builder.AddMethod*"></a>
+  <h4 id="Grpc_Core_ServerServiceDefinition_Builder_AddMethod__2_Grpc_Core_Method___0___1__Grpc_Core_ServerStreamingServerMethod___0___1__" data-uid="Grpc.Core.ServerServiceDefinition.Builder.AddMethod``2(Grpc.Core.Method{``0,``1},Grpc.Core.ServerStreamingServerMethod{``0,``1})">AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt;, ServerStreamingServerMethod&lt;TRequest, TResponse&gt;)</h4>
+  <div class="markdown level1 summary"><p>Adds a definition for a server streaming method.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public ServerServiceDefinition.Builder AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt; method, ServerStreamingServerMethod&lt;TRequest, TResponse&gt; handler)
+    where TRequest : class where TResponse : class</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.Method-2.html">Method</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">method</span></td>
+        <td><p>The method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.ServerStreamingServerMethod-2.html">ServerStreamingServerMethod</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">handler</span></td>
+        <td><p>The method handler.</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.Builder.html">ServerServiceDefinition.Builder</a></td>
+        <td><p>This builder instance.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>The request message class.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>The response message class.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServerServiceDefinition_Builder_AddMethod_" data-uid="Grpc.Core.ServerServiceDefinition.Builder.AddMethod*"></a>
+  <h4 id="Grpc_Core_ServerServiceDefinition_Builder_AddMethod__2_Grpc_Core_Method___0___1__Grpc_Core_UnaryServerMethod___0___1__" data-uid="Grpc.Core.ServerServiceDefinition.Builder.AddMethod``2(Grpc.Core.Method{``0,``1},Grpc.Core.UnaryServerMethod{``0,``1})">AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt;, UnaryServerMethod&lt;TRequest, TResponse&gt;)</h4>
+  <div class="markdown level1 summary"><p>Adds a definition for a single request - single response method.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public ServerServiceDefinition.Builder AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt; method, UnaryServerMethod&lt;TRequest, TResponse&gt; handler)
+    where TRequest : class where TResponse : class</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.Method-2.html">Method</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">method</span></td>
+        <td><p>The method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.UnaryServerMethod-2.html">UnaryServerMethod</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">handler</span></td>
+        <td><p>The method handler.</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.Builder.html">ServerServiceDefinition.Builder</a></td>
+        <td><p>This builder instance.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>The request message class.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>The response message class.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServerServiceDefinition_Builder_Build_" data-uid="Grpc.Core.ServerServiceDefinition.Builder.Build*"></a>
+  <h4 id="Grpc_Core_ServerServiceDefinition_Builder_Build" data-uid="Grpc.Core.ServerServiceDefinition.Builder.Build">Build()</h4>
+  <div class="markdown level1 summary"><p>Creates an immutable <code>ServerServiceDefinition</code> from this builder.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public ServerServiceDefinition Build()</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.ServerServiceDefinition.html">ServerServiceDefinition</a></td>
+        <td><p>The <code>ServerServiceDefinition</code> object.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 160 - 0
csharp-dotnet/api/Grpc.Core.ServerServiceDefinition.html

@@ -0,0 +1,160 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class ServerServiceDefinition
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class ServerServiceDefinition
+   | gRPC for .NET ">
+    <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.ServerServiceDefinition">
+  
+  
+  <h1 id="Grpc_Core_ServerServiceDefinition" data-uid="Grpc.Core.ServerServiceDefinition" class="text-break">Class ServerServiceDefinition
+  </h1>
+  <div class="markdown level0 summary"><p>Stores mapping of methods to server call handlers.
+Normally, the <code>ServerServiceDefinition</code> objects will be created by the <code>BindService</code> factory method 
+that is part of the autogenerated code for a protocol buffers service definition.</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">ServerServiceDefinition</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_ServerServiceDefinition_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public class ServerServiceDefinition : object</code></pre>
+  </div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_ServerServiceDefinition_CreateBuilder_" data-uid="Grpc.Core.ServerServiceDefinition.CreateBuilder*"></a>
+  <h4 id="Grpc_Core_ServerServiceDefinition_CreateBuilder" data-uid="Grpc.Core.ServerServiceDefinition.CreateBuilder">CreateBuilder()</h4>
+  <div class="markdown level1 summary"><p>Creates a new builder object for <code>ServerServiceDefinition</code>.</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.Builder CreateBuilder()</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.ServerServiceDefinition.Builder.html">ServerServiceDefinition.Builder</a></td>
+        <td><p>The builder object.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 190 - 0
csharp-dotnet/api/Grpc.Core.ServerStreamingServerMethod-2.html

@@ -0,0 +1,190 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Delegate ServerStreamingServerMethod&lt;TRequest, TResponse&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Delegate ServerStreamingServerMethod&lt;TRequest, TResponse&gt;
+   | gRPC for .NET ">
+    <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.ServerStreamingServerMethod`2">
+  
+  
+  <h1 id="Grpc_Core_ServerStreamingServerMethod_2" data-uid="Grpc.Core.ServerStreamingServerMethod`2" class="text-break">Delegate ServerStreamingServerMethod&lt;TRequest, TResponse&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>Server-side handler for server streaming call.</p>
+</div>
+  <div class="markdown level0 conceptual"></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_ServerStreamingServerMethod_2_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public delegate Task ServerStreamingServerMethod&lt;TRequest, TResponse&gt;(TRequest request, IServerStreamWriter&lt;TResponse&gt; responseStream, ServerCallContext context)
+    where TRequest : class where TResponse : class;</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">TRequest</span></td>
+        <td><span class="parametername">request</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.IServerStreamWriter-1.html">IServerStreamWriter</a>&lt;TResponse&gt;</td>
+        <td><span class="parametername">responseStream</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.ServerCallContext.html">ServerCallContext</a></td>
+        <td><span class="parametername">context</span></td>
+        <td></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><span class="xref">Task</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>Request message type for this method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>Response message type for this method.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 355 - 0
csharp-dotnet/api/Grpc.Core.ServiceBinderBase.html

@@ -0,0 +1,355 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class ServiceBinderBase
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class ServiceBinderBase
+   | gRPC for .NET ">
+    <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.ServiceBinderBase">
+  
+  
+  <h1 id="Grpc_Core_ServiceBinderBase" data-uid="Grpc.Core.ServiceBinderBase" class="text-break">Class ServiceBinderBase
+  </h1>
+  <div class="markdown level0 summary"><p>Allows binding server-side method implementations in alternative serving stacks.
+Instances of this class are usually populated by the <code>BindService</code> method
+that is part of the autogenerated code for a protocol buffers service definition.</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">ServiceBinderBase</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_ServiceBinderBase_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public class ServiceBinderBase : object</code></pre>
+  </div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_ServiceBinderBase_AddMethod_" data-uid="Grpc.Core.ServiceBinderBase.AddMethod*"></a>
+  <h4 id="Grpc_Core_ServiceBinderBase_AddMethod__2_Grpc_Core_Method___0___1__Grpc_Core_ClientStreamingServerMethod___0___1__" data-uid="Grpc.Core.ServiceBinderBase.AddMethod``2(Grpc.Core.Method{``0,``1},Grpc.Core.ClientStreamingServerMethod{``0,``1})">AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt;, ClientStreamingServerMethod&lt;TRequest, TResponse&gt;)</h4>
+  <div class="markdown level1 summary"><p>Adds a definition for a client streaming method.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public virtual void AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt; method, ClientStreamingServerMethod&lt;TRequest, TResponse&gt; handler)
+    where TRequest : class where TResponse : class</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.Method-2.html">Method</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">method</span></td>
+        <td><p>The method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.ClientStreamingServerMethod-2.html">ClientStreamingServerMethod</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">handler</span></td>
+        <td><p>The method handler.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>The request message class.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>The response message class.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServiceBinderBase_AddMethod_" data-uid="Grpc.Core.ServiceBinderBase.AddMethod*"></a>
+  <h4 id="Grpc_Core_ServiceBinderBase_AddMethod__2_Grpc_Core_Method___0___1__Grpc_Core_DuplexStreamingServerMethod___0___1__" data-uid="Grpc.Core.ServiceBinderBase.AddMethod``2(Grpc.Core.Method{``0,``1},Grpc.Core.DuplexStreamingServerMethod{``0,``1})">AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt;, DuplexStreamingServerMethod&lt;TRequest, TResponse&gt;)</h4>
+  <div class="markdown level1 summary"><p>Adds a definition for a bidirectional streaming method.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public virtual void AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt; method, DuplexStreamingServerMethod&lt;TRequest, TResponse&gt; handler)
+    where TRequest : class where TResponse : class</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.Method-2.html">Method</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">method</span></td>
+        <td><p>The method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.DuplexStreamingServerMethod-2.html">DuplexStreamingServerMethod</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">handler</span></td>
+        <td><p>The method handler.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>The request message class.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>The response message class.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServiceBinderBase_AddMethod_" data-uid="Grpc.Core.ServiceBinderBase.AddMethod*"></a>
+  <h4 id="Grpc_Core_ServiceBinderBase_AddMethod__2_Grpc_Core_Method___0___1__Grpc_Core_ServerStreamingServerMethod___0___1__" data-uid="Grpc.Core.ServiceBinderBase.AddMethod``2(Grpc.Core.Method{``0,``1},Grpc.Core.ServerStreamingServerMethod{``0,``1})">AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt;, ServerStreamingServerMethod&lt;TRequest, TResponse&gt;)</h4>
+  <div class="markdown level1 summary"><p>Adds a definition for a server streaming method.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public virtual void AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt; method, ServerStreamingServerMethod&lt;TRequest, TResponse&gt; handler)
+    where TRequest : class where TResponse : class</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.Method-2.html">Method</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">method</span></td>
+        <td><p>The method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.ServerStreamingServerMethod-2.html">ServerStreamingServerMethod</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">handler</span></td>
+        <td><p>The method handler.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>The request message class.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>The response message class.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_ServiceBinderBase_AddMethod_" data-uid="Grpc.Core.ServiceBinderBase.AddMethod*"></a>
+  <h4 id="Grpc_Core_ServiceBinderBase_AddMethod__2_Grpc_Core_Method___0___1__Grpc_Core_UnaryServerMethod___0___1__" data-uid="Grpc.Core.ServiceBinderBase.AddMethod``2(Grpc.Core.Method{``0,``1},Grpc.Core.UnaryServerMethod{``0,``1})">AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt;, UnaryServerMethod&lt;TRequest, TResponse&gt;)</h4>
+  <div class="markdown level1 summary"><p>Adds a definition for a single request - single response method.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public virtual void AddMethod&lt;TRequest, TResponse&gt;(Method&lt;TRequest, TResponse&gt; method, UnaryServerMethod&lt;TRequest, TResponse&gt; handler)
+    where TRequest : class where TResponse : class</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.Method-2.html">Method</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">method</span></td>
+        <td><p>The method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.UnaryServerMethod-2.html">UnaryServerMethod</a>&lt;TRequest, TResponse&gt;</td>
+        <td><span class="parametername">handler</span></td>
+        <td><p>The method handler.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>The request message class.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>The response message class.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 340 - 0
csharp-dotnet/api/Grpc.Core.SslCredentials.html

@@ -0,0 +1,340 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class SslCredentials
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class SslCredentials
+   | gRPC for .NET ">
+    <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.SslCredentials">
+  
+  
+  <h1 id="Grpc_Core_SslCredentials" data-uid="Grpc.Core.SslCredentials" class="text-break">Class SslCredentials
+  </h1>
+  <div class="markdown level0 summary"><p>Client-side SSL credentials.</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"><a class="xref" href="Grpc.Core.ChannelCredentials.html">ChannelCredentials</a></div>
+    <div class="level2"><span class="xref">SslCredentials</span></div>
+  </div>
+  <div class="inheritedMembers">
+    <h5>Inherited Members</h5>
+    <div>
+      <a class="xref" href="Grpc.Core.ChannelCredentials.html#Grpc_Core_ChannelCredentials_Insecure">ChannelCredentials.Insecure</a>
+    </div>
+    <div>
+      <a class="xref" href="Grpc.Core.ChannelCredentials.html#Grpc_Core_ChannelCredentials_Create_Grpc_Core_ChannelCredentials_Grpc_Core_CallCredentials_">ChannelCredentials.Create(ChannelCredentials, CallCredentials)</a>
+    </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_SslCredentials_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public sealed class SslCredentials : ChannelCredentials</code></pre>
+  </div>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Core_SslCredentials__ctor_" data-uid="Grpc.Core.SslCredentials.#ctor*"></a>
+  <h4 id="Grpc_Core_SslCredentials__ctor" data-uid="Grpc.Core.SslCredentials.#ctor">SslCredentials()</h4>
+  <div class="markdown level1 summary"><p>Creates client-side SSL credentials loaded from
+disk file pointed to by the GRPC_DEFAULT_SSL_ROOTS_FILE_PATH environment variable.
+If that fails, gets the roots certificates from a well known place on disk.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public SslCredentials()</code></pre>
+  </div>
+  <a id="Grpc_Core_SslCredentials__ctor_" data-uid="Grpc.Core.SslCredentials.#ctor*"></a>
+  <h4 id="Grpc_Core_SslCredentials__ctor_System_String_" data-uid="Grpc.Core.SslCredentials.#ctor(System.String)">SslCredentials(String)</h4>
+  <div class="markdown level1 summary"><p>Creates client-side SSL credentials from
+a string containing PEM encoded root certificates.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public SslCredentials(string rootCertificates)</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">rootCertificates</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_SslCredentials__ctor_" data-uid="Grpc.Core.SslCredentials.#ctor*"></a>
+  <h4 id="Grpc_Core_SslCredentials__ctor_System_String_Grpc_Core_KeyCertificatePair_" data-uid="Grpc.Core.SslCredentials.#ctor(System.String,Grpc.Core.KeyCertificatePair)">SslCredentials(String, KeyCertificatePair)</h4>
+  <div class="markdown level1 summary"><p>Creates client-side SSL credentials.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public SslCredentials(string rootCertificates, KeyCertificatePair keyCertificatePair)</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">rootCertificates</span></td>
+        <td><p>string containing PEM encoded server root certificates.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.KeyCertificatePair.html">KeyCertificatePair</a></td>
+        <td><span class="parametername">keyCertificatePair</span></td>
+        <td><p>a key certificate pair.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_SslCredentials__ctor_" data-uid="Grpc.Core.SslCredentials.#ctor*"></a>
+  <h4 id="Grpc_Core_SslCredentials__ctor_System_String_Grpc_Core_KeyCertificatePair_Grpc_Core_VerifyPeerCallback_" data-uid="Grpc.Core.SslCredentials.#ctor(System.String,Grpc.Core.KeyCertificatePair,Grpc.Core.VerifyPeerCallback)">SslCredentials(String, KeyCertificatePair, VerifyPeerCallback)</h4>
+  <div class="markdown level1 summary"><p>Creates client-side SSL credentials.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public SslCredentials(string rootCertificates, KeyCertificatePair keyCertificatePair, VerifyPeerCallback verifyPeerCallback)</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">rootCertificates</span></td>
+        <td><p>string containing PEM encoded server root certificates.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.KeyCertificatePair.html">KeyCertificatePair</a></td>
+        <td><span class="parametername">keyCertificatePair</span></td>
+        <td><p>a key certificate pair.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.VerifyPeerCallback.html">VerifyPeerCallback</a></td>
+        <td><span class="parametername">verifyPeerCallback</span></td>
+        <td><p>a callback to verify peer&apos;s target name and certificate.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_SslCredentials_KeyCertificatePair_" data-uid="Grpc.Core.SslCredentials.KeyCertificatePair*"></a>
+  <h4 id="Grpc_Core_SslCredentials_KeyCertificatePair" data-uid="Grpc.Core.SslCredentials.KeyCertificatePair">KeyCertificatePair</h4>
+  <div class="markdown level1 summary"><p>Client side key and certificate pair.
+If null, client will not use key and certificate pair.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public KeyCertificatePair KeyCertificatePair { 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><a class="xref" href="Grpc.Core.KeyCertificatePair.html">KeyCertificatePair</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_SslCredentials_RootCertificates_" data-uid="Grpc.Core.SslCredentials.RootCertificates*"></a>
+  <h4 id="Grpc_Core_SslCredentials_RootCertificates" data-uid="Grpc.Core.SslCredentials.RootCertificates">RootCertificates</h4>
+  <div class="markdown level1 summary"><p>PEM encoding of the server root certificates.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public string RootCertificates { 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_SslCredentials_InternalPopulateConfiguration_" data-uid="Grpc.Core.SslCredentials.InternalPopulateConfiguration*"></a>
+  <h4 id="Grpc_Core_SslCredentials_InternalPopulateConfiguration_Grpc_Core_ChannelCredentialsConfiguratorBase_System_Object_" data-uid="Grpc.Core.SslCredentials.InternalPopulateConfiguration(Grpc.Core.ChannelCredentialsConfiguratorBase,System.Object)">InternalPopulateConfiguration(ChannelCredentialsConfiguratorBase, Object)</h4>
+  <div class="markdown level1 summary"><p>Populates channel credentials configurator with this instance&apos;s configuration.
+End users never need to invoke this method as it is part of internal implementation.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public override void InternalPopulateConfiguration(ChannelCredentialsConfiguratorBase configurator, object state)</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.ChannelCredentialsConfiguratorBase.html">ChannelCredentialsConfiguratorBase</a></td>
+        <td><span class="parametername">configurator</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.Object</span></td>
+        <td><span class="parametername">state</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="overrides">Overrides</h5>
+  <div><a class="xref" href="Grpc.Core.ChannelCredentials.html#Grpc_Core_ChannelCredentials_InternalPopulateConfiguration_Grpc_Core_ChannelCredentialsConfiguratorBase_System_Object_">ChannelCredentials.InternalPopulateConfiguration(ChannelCredentialsConfiguratorBase, Object)</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>

+ 285 - 0
csharp-dotnet/api/Grpc.Core.Status.html

@@ -0,0 +1,285 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Struct Status
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Struct Status
+   | gRPC for .NET ">
+    <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.Status">
+  
+  
+  <h1 id="Grpc_Core_Status" data-uid="Grpc.Core.Status" class="text-break">Struct Status
+  </h1>
+  <div class="markdown level0 summary"><p>Represents RPC result, which consists of <a class="xref" href="Grpc.Core.Status.html#Grpc_Core_Status_StatusCode">StatusCode</a> and an optional detail string.</p>
+</div>
+  <div class="markdown level0 conceptual"></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_Status_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public struct Status</code></pre>
+  </div>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Core_Status__ctor_" data-uid="Grpc.Core.Status.#ctor*"></a>
+  <h4 id="Grpc_Core_Status__ctor_Grpc_Core_StatusCode_System_String_" data-uid="Grpc.Core.Status.#ctor(Grpc.Core.StatusCode,System.String)">Status(StatusCode, String)</h4>
+  <div class="markdown level1 summary"><p>Creates a new instance of <code>Status</code>.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Status(StatusCode statusCode, string detail)</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.StatusCode.html">StatusCode</a></td>
+        <td><span class="parametername">statusCode</span></td>
+        <td><p>Status code.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.String</span></td>
+        <td><span class="parametername">detail</span></td>
+        <td><p>Detail.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="fields">Fields
+  </h3>
+  <h4 id="Grpc_Core_Status_DefaultCancelled" data-uid="Grpc.Core.Status.DefaultCancelled">DefaultCancelled</h4>
+  <div class="markdown level1 summary"><p>Default result of a cancelled RPC. StatusCode=Cancelled, empty details message.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static readonly Status DefaultCancelled</code></pre>
+  </div>
+  <h5 class="fieldValue">Field Value</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.Status.html">Status</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h4 id="Grpc_Core_Status_DefaultSuccess" data-uid="Grpc.Core.Status.DefaultSuccess">DefaultSuccess</h4>
+  <div class="markdown level1 summary"><p>Default result of a successful RPC. StatusCode=OK, empty details message.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static readonly Status DefaultSuccess</code></pre>
+  </div>
+  <h5 class="fieldValue">Field Value</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.Status.html">Status</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_Status_Detail_" data-uid="Grpc.Core.Status.Detail*"></a>
+  <h4 id="Grpc_Core_Status_Detail" data-uid="Grpc.Core.Status.Detail">Detail</h4>
+  <div class="markdown level1 summary"><p>Gets the detail.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public string Detail { 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>
+  <a id="Grpc_Core_Status_StatusCode_" data-uid="Grpc.Core.Status.StatusCode*"></a>
+  <h4 id="Grpc_Core_Status_StatusCode" data-uid="Grpc.Core.Status.StatusCode">StatusCode</h4>
+  <div class="markdown level1 summary"><p>Gets the gRPC status code. OK indicates success, all other values indicate an error.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public StatusCode StatusCode { 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><a class="xref" href="Grpc.Core.StatusCode.html">StatusCode</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_Status_ToString_" data-uid="Grpc.Core.Status.ToString*"></a>
+  <h4 id="Grpc_Core_Status_ToString" data-uid="Grpc.Core.Status.ToString">ToString()</h4>
+  <div class="markdown level1 summary"><p>Returns a <see cref="!:System.String"></see> that represents the current <a class="xref" href="Grpc.Core.Status.html">Status</a>.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public override string ToString()</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.String</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 251 - 0
csharp-dotnet/api/Grpc.Core.StatusCode.html

@@ -0,0 +1,251 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Enum StatusCode
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Enum StatusCode
+   | gRPC for .NET ">
+    <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.StatusCode">
+  
+  
+  <h1 id="Grpc_Core_StatusCode" data-uid="Grpc.Core.StatusCode" class="text-break">Enum StatusCode
+  </h1>
+  <div class="markdown level0 summary"><p>Result of a remote procedure call.
+Based on grpc_status_code from grpc/status.h</p>
+</div>
+  <div class="markdown level0 conceptual"></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_StatusCode_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public enum StatusCode : int</code></pre>
+  </div>
+  <h3 id="fields">Fields
+  </h3>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    <thead>
+    <tbody>
+      <tr>
+        <td id="Grpc_Core_StatusCode_Aborted">Aborted</td>
+        <td><p>The operation was aborted, typically due to a concurrency issue
+like sequencer check failures, transaction aborts, etc.</p>
+</td>
+      </tr>
+      <tr>
+        <td id="Grpc_Core_StatusCode_AlreadyExists">AlreadyExists</td>
+        <td><p>Some entity that we attempted to create (e.g., file or directory) already exists.</p>
+</td>
+      </tr>
+      <tr>
+        <td id="Grpc_Core_StatusCode_Cancelled">Cancelled</td>
+        <td><p>The operation was cancelled (typically by the caller).</p>
+</td>
+      </tr>
+      <tr>
+        <td id="Grpc_Core_StatusCode_DataLoss">DataLoss</td>
+        <td><p>Unrecoverable data loss or corruption.</p>
+</td>
+      </tr>
+      <tr>
+        <td id="Grpc_Core_StatusCode_DeadlineExceeded">DeadlineExceeded</td>
+        <td><p>Deadline expired before operation could complete.  For operations
+that change the state of the system, this error may be returned
+even if the operation has completed successfully.  For example, a
+successful response from a server could have been delayed long
+enough for the deadline to expire.</p>
+</td>
+      </tr>
+      <tr>
+        <td id="Grpc_Core_StatusCode_FailedPrecondition">FailedPrecondition</td>
+        <td><p>Operation was rejected because the system is not in a state
+required for the operation&apos;s execution.  For example, directory
+to be deleted may be non-empty, an rmdir operation is applied to
+a non-directory, etc.</p>
+</td>
+      </tr>
+      <tr>
+        <td id="Grpc_Core_StatusCode_Internal">Internal</td>
+        <td><p>Internal errors.  Means some invariants expected by underlying
+system has been broken.  If you see one of these errors,
+something is very broken.</p>
+</td>
+      </tr>
+      <tr>
+        <td id="Grpc_Core_StatusCode_InvalidArgument">InvalidArgument</td>
+        <td><p>Client specified an invalid argument.  Note that this differs
+from FAILED_PRECONDITION.  INVALID_ARGUMENT indicates arguments
+that are problematic regardless of the state of the system
+(e.g., a malformed file name).</p>
+</td>
+      </tr>
+      <tr>
+        <td id="Grpc_Core_StatusCode_NotFound">NotFound</td>
+        <td><p>Some requested entity (e.g., file or directory) was not found.</p>
+</td>
+      </tr>
+      <tr>
+        <td id="Grpc_Core_StatusCode_OK">OK</td>
+        <td><p>Not an error; returned on success.</p>
+</td>
+      </tr>
+      <tr>
+        <td id="Grpc_Core_StatusCode_OutOfRange">OutOfRange</td>
+        <td><p>Operation was attempted past the valid range.  E.g., seeking or
+reading past end of file.</p>
+</td>
+      </tr>
+      <tr>
+        <td id="Grpc_Core_StatusCode_PermissionDenied">PermissionDenied</td>
+        <td><p>The caller does not have permission to execute the specified
+operation.  PERMISSION_DENIED must not be used for rejections
+caused by exhausting some resource (use RESOURCE_EXHAUSTED
+instead for those errors).  PERMISSION_DENIED must not be
+used if the caller can not be identified (use UNAUTHENTICATED
+instead for those errors).</p>
+</td>
+      </tr>
+      <tr>
+        <td id="Grpc_Core_StatusCode_ResourceExhausted">ResourceExhausted</td>
+        <td><p>Some resource has been exhausted, perhaps a per-user quota, or
+perhaps the entire file system is out of space.</p>
+</td>
+      </tr>
+      <tr>
+        <td id="Grpc_Core_StatusCode_Unauthenticated">Unauthenticated</td>
+        <td><p>The request does not have valid authentication credentials for the operation.</p>
+</td>
+      </tr>
+      <tr>
+        <td id="Grpc_Core_StatusCode_Unavailable">Unavailable</td>
+        <td><p>The service is currently unavailable.  This is a most likely a
+transient condition and may be corrected by retrying with
+a backoff. Note that it is not always safe to retry
+non-idempotent operations.</p>
+</td>
+      </tr>
+      <tr>
+        <td id="Grpc_Core_StatusCode_Unimplemented">Unimplemented</td>
+        <td><p>Operation is not implemented or not supported/enabled in this service.</p>
+</td>
+      </tr>
+      <tr>
+        <td id="Grpc_Core_StatusCode_Unknown">Unknown</td>
+        <td><p>Unknown error.  An example of where this error may be returned is
+if a Status value received from another address space belongs to
+an error-space that is not known in this address space.  Also
+errors raised by APIs that do not return enough error information
+may be converted to this error.</p>
+</td>
+      </tr>
+    </tbody>
+  </thead></thead></table>
+</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>

+ 185 - 0
csharp-dotnet/api/Grpc.Core.UnaryServerMethod-2.html

@@ -0,0 +1,185 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Delegate UnaryServerMethod&lt;TRequest, TResponse&gt;
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Delegate UnaryServerMethod&lt;TRequest, TResponse&gt;
+   | gRPC for .NET ">
+    <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.UnaryServerMethod`2">
+  
+  
+  <h1 id="Grpc_Core_UnaryServerMethod_2" data-uid="Grpc.Core.UnaryServerMethod`2" class="text-break">Delegate UnaryServerMethod&lt;TRequest, TResponse&gt;
+  </h1>
+  <div class="markdown level0 summary"><p>Server-side handler for unary call.</p>
+</div>
+  <div class="markdown level0 conceptual"></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_UnaryServerMethod_2_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public delegate Task&lt;TResponse&gt; UnaryServerMethod&lt;TRequest, TResponse&gt;(TRequest request, ServerCallContext context)
+    where TRequest : class where TResponse : class;</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">TRequest</span></td>
+        <td><span class="parametername">request</span></td>
+        <td></td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Core.ServerCallContext.html">ServerCallContext</a></td>
+        <td><span class="parametername">context</span></td>
+        <td></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><span class="xref">Task</span>&lt;TResponse&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TRequest</span></td>
+        <td><p>Request message type for this method.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="parametername">TResponse</span></td>
+        <td><p>Response message type for this method.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 373 - 0
csharp-dotnet/api/Grpc.Core.Utils.GrpcPreconditions.html

@@ -0,0 +1,373 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class GrpcPreconditions
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class GrpcPreconditions
+   | gRPC for .NET ">
+    <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.Utils.GrpcPreconditions">
+  
+  
+  <h1 id="Grpc_Core_Utils_GrpcPreconditions" data-uid="Grpc.Core.Utils.GrpcPreconditions" class="text-break">Class GrpcPreconditions
+  </h1>
+  <div class="markdown level0 summary"><p>Utility methods to simplify checking preconditions in the code.</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">GrpcPreconditions</span></div>
+  </div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.Core.Utils.html">Grpc.Core.Utils</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.Core.Api.dll</h6>
+  <h5 id="Grpc_Core_Utils_GrpcPreconditions_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static class GrpcPreconditions : object</code></pre>
+  </div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Core_Utils_GrpcPreconditions_CheckArgument_" data-uid="Grpc.Core.Utils.GrpcPreconditions.CheckArgument*"></a>
+  <h4 id="Grpc_Core_Utils_GrpcPreconditions_CheckArgument_System_Boolean_" data-uid="Grpc.Core.Utils.GrpcPreconditions.CheckArgument(System.Boolean)">CheckArgument(Boolean)</h4>
+  <div class="markdown level1 summary"><p>Throws <see cref="!:ArgumentException"></see> if condition is false.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static void CheckArgument(bool condition)</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.Boolean</span></td>
+        <td><span class="parametername">condition</span></td>
+        <td><p>The condition.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Utils_GrpcPreconditions_CheckArgument_" data-uid="Grpc.Core.Utils.GrpcPreconditions.CheckArgument*"></a>
+  <h4 id="Grpc_Core_Utils_GrpcPreconditions_CheckArgument_System_Boolean_System_String_" data-uid="Grpc.Core.Utils.GrpcPreconditions.CheckArgument(System.Boolean,System.String)">CheckArgument(Boolean, String)</h4>
+  <div class="markdown level1 summary"><p>Throws <see cref="!:ArgumentException"></see> with given message if condition is false.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static void CheckArgument(bool condition, string errorMessage)</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.Boolean</span></td>
+        <td><span class="parametername">condition</span></td>
+        <td><p>The condition.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.String</span></td>
+        <td><span class="parametername">errorMessage</span></td>
+        <td><p>The error message.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Utils_GrpcPreconditions_CheckNotNull_" data-uid="Grpc.Core.Utils.GrpcPreconditions.CheckNotNull*"></a>
+  <h4 id="Grpc_Core_Utils_GrpcPreconditions_CheckNotNull__1___0_" data-uid="Grpc.Core.Utils.GrpcPreconditions.CheckNotNull``1(``0)">CheckNotNull&lt;T&gt;(T)</h4>
+  <div class="markdown level1 summary"><p>Throws <see cref="!:ArgumentNullException"></see> if reference is null.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static T CheckNotNull&lt;T&gt;(T reference)</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">T</span></td>
+        <td><span class="parametername">reference</span></td>
+        <td><p>The reference.</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><span class="xref">T</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">T</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Utils_GrpcPreconditions_CheckNotNull_" data-uid="Grpc.Core.Utils.GrpcPreconditions.CheckNotNull*"></a>
+  <h4 id="Grpc_Core_Utils_GrpcPreconditions_CheckNotNull__1___0_System_String_" data-uid="Grpc.Core.Utils.GrpcPreconditions.CheckNotNull``1(``0,System.String)">CheckNotNull&lt;T&gt;(T, String)</h4>
+  <div class="markdown level1 summary"><p>Throws <see cref="!:ArgumentNullException"></see> if reference is null.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static T CheckNotNull&lt;T&gt;(T reference, string paramName)</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">T</span></td>
+        <td><span class="parametername">reference</span></td>
+        <td><p>The reference.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.String</span></td>
+        <td><span class="parametername">paramName</span></td>
+        <td><p>The parameter name.</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><span class="xref">T</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">T</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Utils_GrpcPreconditions_CheckState_" data-uid="Grpc.Core.Utils.GrpcPreconditions.CheckState*"></a>
+  <h4 id="Grpc_Core_Utils_GrpcPreconditions_CheckState_System_Boolean_" data-uid="Grpc.Core.Utils.GrpcPreconditions.CheckState(System.Boolean)">CheckState(Boolean)</h4>
+  <div class="markdown level1 summary"><p>Throws <see cref="!:InvalidOperationException"></see> if condition is false.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static void CheckState(bool condition)</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.Boolean</span></td>
+        <td><span class="parametername">condition</span></td>
+        <td><p>The condition.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Core_Utils_GrpcPreconditions_CheckState_" data-uid="Grpc.Core.Utils.GrpcPreconditions.CheckState*"></a>
+  <h4 id="Grpc_Core_Utils_GrpcPreconditions_CheckState_System_Boolean_System_String_" data-uid="Grpc.Core.Utils.GrpcPreconditions.CheckState(System.Boolean,System.String)">CheckState(Boolean, String)</h4>
+  <div class="markdown level1 summary"><p>Throws <see cref="!:InvalidOperationException"></see> with given message if condition is false.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static void CheckState(bool condition, string errorMessage)</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.Boolean</span></td>
+        <td><span class="parametername">condition</span></td>
+        <td><p>The condition.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.String</span></td>
+        <td><span class="parametername">errorMessage</span></td>
+        <td><p>The error message.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 124 - 0
csharp-dotnet/api/Grpc.Core.Utils.html

@@ -0,0 +1,124 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Namespace Grpc.Core.Utils
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Namespace Grpc.Core.Utils
+   | gRPC for .NET ">
+    <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.Utils">
+  
+  <h1 id="Grpc_Core_Utils" data-uid="Grpc.Core.Utils" class="text-break">Namespace Grpc.Core.Utils
+  </h1>
+  <div class="markdown level0 summary"></div>
+  <div class="markdown level0 conceptual"></div>
+  <div class="markdown level0 remarks"></div>
+    <h3 id="classes">Classes
+  </h3>
+      <h4><a class="xref" href="Grpc.Core.Utils.GrpcPreconditions.html">GrpcPreconditions</a></h4>
+      <section><p>Utility methods to simplify checking preconditions in the code.</p>
+</section>
+</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>

+ 167 - 0
csharp-dotnet/api/Grpc.Core.VerifyPeerCallback.html

@@ -0,0 +1,167 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Delegate VerifyPeerCallback
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Delegate VerifyPeerCallback
+   | gRPC for .NET ">
+    <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.VerifyPeerCallback">
+  
+  
+  <h1 id="Grpc_Core_VerifyPeerCallback" data-uid="Grpc.Core.VerifyPeerCallback" class="text-break">Delegate VerifyPeerCallback
+  </h1>
+  <div class="markdown level0 summary"><p>Callback invoked with the expected targetHost and the peer&apos;s certificate.
+If false is returned by this callback then it is treated as a
+verification failure and the attempted connection will fail.
+Invocation of the callback is blocking, so any
+implementation should be light-weight.
+Note that the callback can potentially be invoked multiple times,
+concurrently from different threads (e.g. when multiple connections
+are being created for the same credentials).</p>
+</div>
+  <div class="markdown level0 conceptual"></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_VerifyPeerCallback_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public delegate bool VerifyPeerCallback(VerifyPeerContext context);</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.VerifyPeerContext.html">VerifyPeerContext</a></td>
+        <td><span class="parametername">context</span></td>
+        <td><p>The <a class="xref" href="Grpc.Core.VerifyPeerContext.html">VerifyPeerContext</a> associated with the callback</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><span class="xref">System.Boolean</span></td>
+        <td><p>true if verification succeeded, false otherwise.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 182 - 0
csharp-dotnet/api/Grpc.Core.VerifyPeerContext.html

@@ -0,0 +1,182 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class VerifyPeerContext
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class VerifyPeerContext
+   | gRPC for .NET ">
+    <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.VerifyPeerContext">
+  
+  
+  <h1 id="Grpc_Core_VerifyPeerContext" data-uid="Grpc.Core.VerifyPeerContext" class="text-break">Class VerifyPeerContext
+  </h1>
+  <div class="markdown level0 summary"><p>Verification context for VerifyPeerCallback.
+Note: experimental API that can change or be removed without any prior notice.</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">VerifyPeerContext</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_VerifyPeerContext_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public class VerifyPeerContext : object</code></pre>
+  </div>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_VerifyPeerContext_PeerPem_" data-uid="Grpc.Core.VerifyPeerContext.PeerPem*"></a>
+  <h4 id="Grpc_Core_VerifyPeerContext_PeerPem" data-uid="Grpc.Core.VerifyPeerContext.PeerPem">PeerPem</h4>
+  <div class="markdown level1 summary"><p>The PEM encoded certificate of the peer.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public string PeerPem { 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>
+  <a id="Grpc_Core_VerifyPeerContext_TargetName_" data-uid="Grpc.Core.VerifyPeerContext.TargetName*"></a>
+  <h4 id="Grpc_Core_VerifyPeerContext_TargetName" data-uid="Grpc.Core.VerifyPeerContext.TargetName">TargetName</h4>
+  <div class="markdown level1 summary"><p>The target name of the peer.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public string TargetName { 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>
+</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>

+ 204 - 0
csharp-dotnet/api/Grpc.Core.VersionInfo.html

@@ -0,0 +1,204 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class VersionInfo
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class VersionInfo
+   | gRPC for .NET ">
+    <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.VersionInfo">
+  
+  
+  <h1 id="Grpc_Core_VersionInfo" data-uid="Grpc.Core.VersionInfo" class="text-break">Class VersionInfo
+  </h1>
+  <div class="markdown level0 summary"><p>Provides info about current version of gRPC.
+See <a href="https://codingforsmarties.wordpress.com/2016/01/21/how-to-version-assemblies-destined-for-nuget/">https://codingforsmarties.wordpress.com/2016/01/21/how-to-version-assemblies-destined-for-nuget/</a>
+for rationale about assembly versioning.</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">VersionInfo</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_VersionInfo_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static class VersionInfo : object</code></pre>
+  </div>
+  <h3 id="fields">Fields
+  </h3>
+  <h4 id="Grpc_Core_VersionInfo_CurrentAssemblyFileVersion" data-uid="Grpc.Core.VersionInfo.CurrentAssemblyFileVersion">CurrentAssemblyFileVersion</h4>
+  <div class="markdown level1 summary"><p>Current <code>AssemblyFileVersion</code> of gRPC C# assemblies</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public const string CurrentAssemblyFileVersion = null</code></pre>
+  </div>
+  <h5 class="fieldValue">Field 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>
+  <h4 id="Grpc_Core_VersionInfo_CurrentAssemblyVersion" data-uid="Grpc.Core.VersionInfo.CurrentAssemblyVersion">CurrentAssemblyVersion</h4>
+  <div class="markdown level1 summary"><p>Current <code>AssemblyVersion</code> attribute of gRPC C# assemblies</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public const string CurrentAssemblyVersion = null</code></pre>
+  </div>
+  <h5 class="fieldValue">Field 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>
+  <h4 id="Grpc_Core_VersionInfo_CurrentVersion" data-uid="Grpc.Core.VersionInfo.CurrentVersion">CurrentVersion</h4>
+  <div class="markdown level1 summary"><p>Current version of gRPC C#</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public const string CurrentVersion = null</code></pre>
+  </div>
+  <h5 class="fieldValue">Field 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>
+</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>

+ 150 - 0
csharp-dotnet/api/Grpc.Core.WriteFlags.html

@@ -0,0 +1,150 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Enum WriteFlags
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Enum WriteFlags
+   | gRPC for .NET ">
+    <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.WriteFlags">
+  
+  
+  <h1 id="Grpc_Core_WriteFlags" data-uid="Grpc.Core.WriteFlags" class="text-break">Enum WriteFlags
+  </h1>
+  <div class="markdown level0 summary"><p>Flags for write operations.</p>
+</div>
+  <div class="markdown level0 conceptual"></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_WriteFlags_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public enum WriteFlags : int</code></pre>
+  </div>
+  <h3 id="fields">Fields
+  </h3>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    <thead>
+    <tbody>
+      <tr>
+        <td id="Grpc_Core_WriteFlags_BufferHint">BufferHint</td>
+        <td><p>Hint that the write may be buffered and need not go out on the wire immediately.
+gRPC is free to buffer the message until the next non-buffered
+write, or until write stream completion, but it need not buffer completely or at all.</p>
+</td>
+      </tr>
+      <tr>
+        <td id="Grpc_Core_WriteFlags_NoCompress">NoCompress</td>
+        <td><p>Force compression to be disabled for a particular write.</p>
+</td>
+      </tr>
+    </tbody>
+  </thead></thead></table>
+</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>

+ 211 - 0
csharp-dotnet/api/Grpc.Core.WriteOptions.html

@@ -0,0 +1,211 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class WriteOptions
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class WriteOptions
+   | gRPC for .NET ">
+    <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.WriteOptions">
+  
+  
+  <h1 id="Grpc_Core_WriteOptions" data-uid="Grpc.Core.WriteOptions" class="text-break">Class WriteOptions
+  </h1>
+  <div class="markdown level0 summary"><p>Options for write operations.</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">WriteOptions</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_WriteOptions_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public class WriteOptions : object</code></pre>
+  </div>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Core_WriteOptions__ctor_" data-uid="Grpc.Core.WriteOptions.#ctor*"></a>
+  <h4 id="Grpc_Core_WriteOptions__ctor_Grpc_Core_WriteFlags_" data-uid="Grpc.Core.WriteOptions.#ctor(Grpc.Core.WriteFlags)">WriteOptions(WriteFlags)</h4>
+  <div class="markdown level1 summary"><p>Initializes a new instance of <code>WriteOptions</code> class.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public WriteOptions(WriteFlags flags = (WriteFlags)0)</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.WriteFlags.html">WriteFlags</a></td>
+        <td><span class="parametername">flags</span></td>
+        <td><p>The write flags.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="fields">Fields
+  </h3>
+  <h4 id="Grpc_Core_WriteOptions_Default" data-uid="Grpc.Core.WriteOptions.Default">Default</h4>
+  <div class="markdown level1 summary"><p>Default write options.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static readonly WriteOptions Default</code></pre>
+  </div>
+  <h5 class="fieldValue">Field Value</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.WriteOptions.html">WriteOptions</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Core_WriteOptions_Flags_" data-uid="Grpc.Core.WriteOptions.Flags*"></a>
+  <h4 id="Grpc_Core_WriteOptions_Flags" data-uid="Grpc.Core.WriteOptions.Flags">Flags</h4>
+  <div class="markdown level1 summary"><p>Gets the write flags.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public WriteFlags Flags { 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><a class="xref" href="Grpc.Core.WriteFlags.html">WriteFlags</a></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 355 - 0
csharp-dotnet/api/Grpc.Core.html

@@ -0,0 +1,355 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Namespace Grpc.Core
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Namespace Grpc.Core
+   | gRPC for .NET ">
+    <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">
+  
+  <h1 id="Grpc_Core" data-uid="Grpc.Core" class="text-break">Namespace Grpc.Core
+  </h1>
+  <div class="markdown level0 summary"></div>
+  <div class="markdown level0 conceptual"></div>
+  <div class="markdown level0 remarks"></div>
+    <h3 id="classes">Classes
+  </h3>
+      <h4><a class="xref" href="Grpc.Core.AsyncClientStreamingCall-2.html">AsyncClientStreamingCall&lt;TRequest, TResponse&gt;</a></h4>
+      <section><p>Return type for client streaming calls.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.AsyncDuplexStreamingCall-2.html">AsyncDuplexStreamingCall&lt;TRequest, TResponse&gt;</a></h4>
+      <section><p>Return type for bidirectional streaming calls.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.AsyncServerStreamingCall-1.html">AsyncServerStreamingCall&lt;TResponse&gt;</a></h4>
+      <section><p>Return type for server streaming calls.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.AsyncStreamReaderExtensions.html">AsyncStreamReaderExtensions</a></h4>
+      <section><p>Extension methods for <a class="xref" href="Grpc.Core.IAsyncStreamReader-1.html">IAsyncStreamReader&lt;T&gt;</a>.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.AsyncUnaryCall-1.html">AsyncUnaryCall&lt;TResponse&gt;</a></h4>
+      <section><p>Return type for single request - single response call.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.AuthContext.html">AuthContext</a></h4>
+      <section><p>Authentication context for a call.
+AuthContext is the only reliable source of truth when it comes to authenticating calls.
+Using any other call/context properties for authentication purposes is wrong and inherently unsafe.
+Note: experimental API that can change or be removed without any prior notice.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.AuthInterceptorContext.html">AuthInterceptorContext</a></h4>
+      <section><p>Context for an RPC being intercepted by <a class="xref" href="Grpc.Core.AsyncAuthInterceptor.html">AsyncAuthInterceptor</a>.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.AuthProperty.html">AuthProperty</a></h4>
+      <section><p>A property of an <a class="xref" href="Grpc.Core.AuthContext.html">AuthContext</a>.
+Note: experimental API that can change or be removed without any prior notice.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.BindServiceMethodAttribute.html">BindServiceMethodAttribute</a></h4>
+      <section><p>Specifies the location of the service bind method for a gRPC service.
+The bind method is typically generated code and is used to register a service&apos;s
+methods with the server on startup.</p>
+<p>The bind method signature takes a <a class="xref" href="Grpc.Core.ServiceBinderBase.html">ServiceBinderBase</a> and an optional
+instance of the service base class, e.g. <code>static void BindService(ServiceBinderBase, GreeterService)</code>.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.CallCredentials.html">CallCredentials</a></h4>
+      <section><p>Client-side call credentials. Provide authorization with per-call granularity.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.CallCredentialsConfiguratorBase.html">CallCredentialsConfiguratorBase</a></h4>
+      <section><p>Base class for objects that can consume configuration from <code>CallCredentials</code> objects.
+Note: experimental API that can change or be removed without any prior notice.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.CallInvoker.html">CallInvoker</a></h4>
+      <section><p>Abstraction of client-side RPC invocation.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.ChannelBase.html">ChannelBase</a></h4>
+      <section><p>Base class for gRPC channel. Channels are an abstraction of long-lived connections to remote servers.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.ChannelCredentials.html">ChannelCredentials</a></h4>
+      <section><p>Client-side channel credentials. Used for creation of a secure channel.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.ChannelCredentialsConfiguratorBase.html">ChannelCredentialsConfiguratorBase</a></h4>
+      <section><p>Base class for objects that can consume configuration from <code>CallCredentials</code> objects.
+Note: experimental API that can change or be removed without any prior notice.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.ClientBase.html">ClientBase</a></h4>
+      <section><p>Base class for client-side stubs.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.ClientBase.ClientBaseConfiguration.html">ClientBase.ClientBaseConfiguration</a></h4>
+      <section><p>Represents configuration of ClientBase. The class itself is visible to
+subclasses, but contents are marked as internal to make the instances opaque.
+The verbose name of this class was chosen to make name clash in generated code 
+less likely.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.ClientBase-1.html">ClientBase&lt;T&gt;</a></h4>
+      <section><p>Generic base class for client-side stubs.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.ContextPropagationOptions.html">ContextPropagationOptions</a></h4>
+      <section><p>Options for <a class="xref" href="Grpc.Core.ContextPropagationToken.html">ContextPropagationToken</a>.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.ContextPropagationToken.html">ContextPropagationToken</a></h4>
+      <section><p>Token for propagating context of server side handlers to child calls.
+In situations when a backend is making calls to another backend,
+it makes sense to propagate properties like deadline and cancellation 
+token of the server call to the child call.
+Underlying gRPC implementation may provide other &quot;opaque&quot; contexts (like tracing context) that
+are not explicitly accesible via the public C# API, but this token still allows propagating them.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.DeserializationContext.html">DeserializationContext</a></h4>
+      <section><p>Provides access to the payload being deserialized when deserializing messages.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.KeyCertificatePair.html">KeyCertificatePair</a></h4>
+      <section><p>Key certificate pair (in PEM encoding).</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.LiteClientBase.html">LiteClientBase</a></h4>
+      <section><p>Base class for lightweight client-side stubs.
+All calls are invoked via a <code>CallInvoker</code>.
+Lite client stubs have no configuration knobs, all configuration
+is provided by decorating the call invoker.
+Note: experimental API that can change or be removed without any prior notice.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.Marshaller-1.html">Marshaller&lt;T&gt;</a></h4>
+      <section><p>Encapsulates the logic for serializing and deserializing messages.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.Marshallers.html">Marshallers</a></h4>
+      <section><p>Utilities for creating marshallers.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.Metadata.html">Metadata</a></h4>
+      <section><p>A collection of metadata entries that can be exchanged during a call.
+gRPC supports these types of metadata:
+<ul><li>Request headersare sent by the client at the beginning of a remote call before any request messages are sent.</li><li>Response headersare sent by the server at the beginning of a remote call handler before any response messages are sent.</li><li>Response trailersare sent by the server at the end of a remote call along with resulting call status.</li></ul></p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.Metadata.Entry.html">Metadata.Entry</a></h4>
+      <section><p>Metadata entry</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.Method-2.html">Method&lt;TRequest, TResponse&gt;</a></h4>
+      <section><p>A description of a remote method.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.RpcException.html">RpcException</a></h4>
+      <section><p>Thrown when remote procedure call fails. Every <code>RpcException</code> is associated with a resulting <a class="xref" href="Grpc.Core.RpcException.html#Grpc_Core_RpcException_Status">Status</a> of the call.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.SerializationContext.html">SerializationContext</a></h4>
+      <section><p>Provides storage for payload when serializing a message.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.ServerCallContext.html">ServerCallContext</a></h4>
+      <section><p>Context for a server-side call.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.ServerCallContextExtensions.html">ServerCallContextExtensions</a></h4>
+      <section><p>Extension methods for ServerCallContext.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.ServerServiceDefinition.html">ServerServiceDefinition</a></h4>
+      <section><p>Stores mapping of methods to server call handlers.
+Normally, the <code>ServerServiceDefinition</code> objects will be created by the <code>BindService</code> factory method 
+that is part of the autogenerated code for a protocol buffers service definition.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.ServerServiceDefinition.Builder.html">ServerServiceDefinition.Builder</a></h4>
+      <section><p>Builder class for <a class="xref" href="Grpc.Core.ServerServiceDefinition.html">ServerServiceDefinition</a>.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.ServiceBinderBase.html">ServiceBinderBase</a></h4>
+      <section><p>Allows binding server-side method implementations in alternative serving stacks.
+Instances of this class are usually populated by the <code>BindService</code> method
+that is part of the autogenerated code for a protocol buffers service definition.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.SslCredentials.html">SslCredentials</a></h4>
+      <section><p>Client-side SSL credentials.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.VerifyPeerContext.html">VerifyPeerContext</a></h4>
+      <section><p>Verification context for VerifyPeerCallback.
+Note: experimental API that can change or be removed without any prior notice.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.VersionInfo.html">VersionInfo</a></h4>
+      <section><p>Provides info about current version of gRPC.
+See <a href="https://codingforsmarties.wordpress.com/2016/01/21/how-to-version-assemblies-destined-for-nuget/">https://codingforsmarties.wordpress.com/2016/01/21/how-to-version-assemblies-destined-for-nuget/</a>
+for rationale about assembly versioning.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.WriteOptions.html">WriteOptions</a></h4>
+      <section><p>Options for write operations.</p>
+</section>
+    <h3 id="structs">Structs
+  </h3>
+      <h4><a class="xref" href="Grpc.Core.CallOptions.html">CallOptions</a></h4>
+      <section><p>Options for calls made by client.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.Status.html">Status</a></h4>
+      <section><p>Represents RPC result, which consists of <a class="xref" href="Grpc.Core.Status.html#Grpc_Core_Status_StatusCode">StatusCode</a> and an optional detail string.</p>
+</section>
+    <h3 id="interfaces">Interfaces
+  </h3>
+      <h4><a class="xref" href="Grpc.Core.IAsyncStreamReader-1.html">IAsyncStreamReader&lt;T&gt;</a></h4>
+      <section><p>A stream of messages to be read.
+Messages can be awaited <code>await reader.MoveNext()</code>, that returns <code>true</code>
+if there is a message available and <code>false</code> if there are no more messages
+(i.e. the stream has been closed).
+<p>
+On the client side, the last invocation of <code>MoveNext()</code> either returns <code>false</code>
+if the call has finished successfully or throws <code>RpcException</code> if call finished
+with an error. Once the call finishes, subsequent invocations of <code>MoveNext()</code> will
+continue yielding the same result (returning <code>false</code> or throwing an exception).
+</p>
+<p>
+On the server side, <code>MoveNext()</code> does not throw exceptions.
+In case of a failure, the request stream will appear to be finished
+(<code>MoveNext</code> will return <code>false</code>) and the <code>CancellationToken</code>
+associated with the call will be cancelled to signal the failure.
+</p>
+<p>
+<code>MoveNext()</code> operations can be cancelled via a cancellation token. Cancelling
+an individual read operation has the same effect as cancelling the entire call
+(which will also result in the read operation returning prematurely), but the per-read cancellation
+tokens passed to MoveNext() only result in cancelling the call if the read operation haven&apos;t finished
+yet.
+</p></p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.IAsyncStreamWriter-1.html">IAsyncStreamWriter&lt;T&gt;</a></h4>
+      <section><p>A writable stream of messages.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.IClientStreamWriter-1.html">IClientStreamWriter&lt;T&gt;</a></h4>
+      <section><p>Client-side writable stream of messages with Close capability.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.IMethod.html">IMethod</a></h4>
+      <section><p>A non-generic representation of a remote method.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.IServerStreamWriter-1.html">IServerStreamWriter&lt;T&gt;</a></h4>
+      <section><p>A writable stream of messages that is used in server-side handlers.</p>
+</section>
+    <h3 id="enums">Enums
+  </h3>
+      <h4><a class="xref" href="Grpc.Core.MethodType.html">MethodType</a></h4>
+      <section><p>Method types supported by gRPC.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.StatusCode.html">StatusCode</a></h4>
+      <section><p>Result of a remote procedure call.
+Based on grpc_status_code from grpc/status.h</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.WriteFlags.html">WriteFlags</a></h4>
+      <section><p>Flags for write operations.</p>
+</section>
+    <h3 id="delegates">Delegates
+  </h3>
+      <h4><a class="xref" href="Grpc.Core.AsyncAuthInterceptor.html">AsyncAuthInterceptor</a></h4>
+      <section><p>Asynchronous authentication interceptor for <a class="xref" href="Grpc.Core.CallCredentials.html">CallCredentials</a>.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.ClientStreamingServerMethod-2.html">ClientStreamingServerMethod&lt;TRequest, TResponse&gt;</a></h4>
+      <section><p>Server-side handler for client streaming call.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.DuplexStreamingServerMethod-2.html">DuplexStreamingServerMethod&lt;TRequest, TResponse&gt;</a></h4>
+      <section><p>Server-side handler for bidi streaming call.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.ServerStreamingServerMethod-2.html">ServerStreamingServerMethod&lt;TRequest, TResponse&gt;</a></h4>
+      <section><p>Server-side handler for server streaming call.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.UnaryServerMethod-2.html">UnaryServerMethod&lt;TRequest, TResponse&gt;</a></h4>
+      <section><p>Server-side handler for unary call.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Core.VerifyPeerCallback.html">VerifyPeerCallback</a></h4>
+      <section><p>Callback invoked with the expected targetHost and the peer&apos;s certificate.
+If false is returned by this callback then it is treated as a
+verification failure and the attempted connection will fail.
+Invocation of the callback is blocking, so any
+implementation should be light-weight.
+Note that the callback can potentially be invoked multiple times,
+concurrently from different threads (e.g. when multiple connections
+are being created for the same credentials).</p>
+</section>
+</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>

+ 362 - 0
csharp-dotnet/api/Grpc.Net.Client.GrpcChannel.html

@@ -0,0 +1,362 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class GrpcChannel
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class GrpcChannel
+   | gRPC for .NET ">
+    <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.Net.Client.GrpcChannel">
+  
+  
+  <h1 id="Grpc_Net_Client_GrpcChannel" data-uid="Grpc.Net.Client.GrpcChannel" class="text-break">Class GrpcChannel
+  </h1>
+  <div class="markdown level0 summary"><p>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.</p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <div class="inheritance">
+    <h5>Inheritance</h5>
+    <div class="level0"><span class="xref">ChannelBase</span></div>
+    <div class="level1"><span class="xref">GrpcChannel</span></div>
+  </div>
+  <div classs="implements">
+    <h5>Implements</h5>
+    <div><span class="xref">IDisposable</span></div>
+  </div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.Net.Client.html">Grpc.Net.Client</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.Net.Client.dll</h6>
+  <h5 id="Grpc_Net_Client_GrpcChannel_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public sealed class GrpcChannel : ChannelBase, IDisposable</code></pre>
+  </div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Net_Client_GrpcChannel_CreateCallInvoker_" data-uid="Grpc.Net.Client.GrpcChannel.CreateCallInvoker*"></a>
+  <h4 id="Grpc_Net_Client_GrpcChannel_CreateCallInvoker" data-uid="Grpc.Net.Client.GrpcChannel.CreateCallInvoker">CreateCallInvoker()</h4>
+  <div class="markdown level1 summary"><p>Create a new <see cref="!:CallInvoker"></see> 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 override 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><span class="xref">CallInvoker</span></td>
+        <td><p>A new <see cref="!:CallInvoker"></see>.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Net_Client_GrpcChannel_Dispose_" data-uid="Grpc.Net.Client.GrpcChannel.Dispose*"></a>
+  <h4 id="Grpc_Net_Client_GrpcChannel_Dispose" data-uid="Grpc.Net.Client.GrpcChannel.Dispose">Dispose()</h4>
+  <div class="markdown level1 summary"><p>Releases the resources used by the <a class="xref" href="Grpc.Net.Client.GrpcChannel.html">GrpcChannel</a> class.
+Clients created with the channel can&apos;t be used after the channel is disposed.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public void Dispose()</code></pre>
+  </div>
+  <a id="Grpc_Net_Client_GrpcChannel_ForAddress_" data-uid="Grpc.Net.Client.GrpcChannel.ForAddress*"></a>
+  <h4 id="Grpc_Net_Client_GrpcChannel_ForAddress_System_String_" data-uid="Grpc.Net.Client.GrpcChannel.ForAddress(System.String)">ForAddress(String)</h4>
+  <div class="markdown level1 summary"><p>Creates a <a class="xref" href="Grpc.Net.Client.GrpcChannel.html">GrpcChannel</a> for the specified address.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static GrpcChannel ForAddress(string address)</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">address</span></td>
+        <td><p>The address the channel will use.</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.Net.Client.GrpcChannel.html">GrpcChannel</a></td>
+        <td><p>A new instance of <a class="xref" href="Grpc.Net.Client.GrpcChannel.html">GrpcChannel</a>.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Net_Client_GrpcChannel_ForAddress_" data-uid="Grpc.Net.Client.GrpcChannel.ForAddress*"></a>
+  <h4 id="Grpc_Net_Client_GrpcChannel_ForAddress_System_String_Grpc_Net_Client_GrpcChannelOptions_" data-uid="Grpc.Net.Client.GrpcChannel.ForAddress(System.String,Grpc.Net.Client.GrpcChannelOptions)">ForAddress(String, GrpcChannelOptions)</h4>
+  <div class="markdown level1 summary"><p>Creates a <a class="xref" href="Grpc.Net.Client.GrpcChannel.html">GrpcChannel</a> for the specified address and configuration options.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static GrpcChannel ForAddress(string address, GrpcChannelOptions channelOptions)</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">address</span></td>
+        <td><p>The address the channel will use.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Net.Client.GrpcChannelOptions.html">GrpcChannelOptions</a></td>
+        <td><span class="parametername">channelOptions</span></td>
+        <td><p>The channel configuration options.</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.Net.Client.GrpcChannel.html">GrpcChannel</a></td>
+        <td><p>A new instance of <a class="xref" href="Grpc.Net.Client.GrpcChannel.html">GrpcChannel</a>.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Net_Client_GrpcChannel_ForAddress_" data-uid="Grpc.Net.Client.GrpcChannel.ForAddress*"></a>
+  <h4 id="Grpc_Net_Client_GrpcChannel_ForAddress_Uri_" data-uid="Grpc.Net.Client.GrpcChannel.ForAddress(Uri)">ForAddress(Uri)</h4>
+  <div class="markdown level1 summary"><p>Creates a <a class="xref" href="Grpc.Net.Client.GrpcChannel.html">GrpcChannel</a> for the specified address.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static GrpcChannel ForAddress(Uri address)</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">Uri</span></td>
+        <td><span class="parametername">address</span></td>
+        <td><p>The address the channel will use.</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.Net.Client.GrpcChannel.html">GrpcChannel</a></td>
+        <td><p>A new instance of <a class="xref" href="Grpc.Net.Client.GrpcChannel.html">GrpcChannel</a>.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Net_Client_GrpcChannel_ForAddress_" data-uid="Grpc.Net.Client.GrpcChannel.ForAddress*"></a>
+  <h4 id="Grpc_Net_Client_GrpcChannel_ForAddress_Uri_Grpc_Net_Client_GrpcChannelOptions_" data-uid="Grpc.Net.Client.GrpcChannel.ForAddress(Uri,Grpc.Net.Client.GrpcChannelOptions)">ForAddress(Uri, GrpcChannelOptions)</h4>
+  <div class="markdown level1 summary"><p>Creates a <a class="xref" href="Grpc.Net.Client.GrpcChannel.html">GrpcChannel</a> for the specified address and configuration options.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static GrpcChannel ForAddress(Uri address, GrpcChannelOptions channelOptions)</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">Uri</span></td>
+        <td><span class="parametername">address</span></td>
+        <td><p>The address the channel will use.</p>
+</td>
+      </tr>
+      <tr>
+        <td><a class="xref" href="Grpc.Net.Client.GrpcChannelOptions.html">GrpcChannelOptions</a></td>
+        <td><span class="parametername">channelOptions</span></td>
+        <td><p>The channel configuration options.</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.Net.Client.GrpcChannel.html">GrpcChannel</a></td>
+        <td><p>A new instance of <a class="xref" href="Grpc.Net.Client.GrpcChannel.html">GrpcChannel</a>.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="implements">Implements</h3>
+  <div>
+      <span class="xref">IDisposable</span>
+  </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>

+ 350 - 0
csharp-dotnet/api/Grpc.Net.Client.GrpcChannelOptions.html

@@ -0,0 +1,350 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class GrpcChannelOptions
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class GrpcChannelOptions
+   | gRPC for .NET ">
+    <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.Net.Client.GrpcChannelOptions">
+  
+  
+  <h1 id="Grpc_Net_Client_GrpcChannelOptions" data-uid="Grpc.Net.Client.GrpcChannelOptions" class="text-break">Class GrpcChannelOptions
+  </h1>
+  <div class="markdown level0 summary"><p>An options class for configuring a <a class="xref" href="Grpc.Net.Client.GrpcChannel.html">GrpcChannel</a>.</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">GrpcChannelOptions</span></div>
+  </div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.Net.Client.html">Grpc.Net.Client</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.Net.Client.dll</h6>
+  <h5 id="Grpc_Net_Client_GrpcChannelOptions_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public sealed class GrpcChannelOptions : object</code></pre>
+  </div>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Net_Client_GrpcChannelOptions__ctor_" data-uid="Grpc.Net.Client.GrpcChannelOptions.#ctor*"></a>
+  <h4 id="Grpc_Net_Client_GrpcChannelOptions__ctor" data-uid="Grpc.Net.Client.GrpcChannelOptions.#ctor">GrpcChannelOptions()</h4>
+  <div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Grpc.Net.Client.GrpcChannelOptions.html">GrpcChannelOptions</a> class.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public GrpcChannelOptions()</code></pre>
+  </div>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Net_Client_GrpcChannelOptions_CompressionProviders_" data-uid="Grpc.Net.Client.GrpcChannelOptions.CompressionProviders*"></a>
+  <h4 id="Grpc_Net_Client_GrpcChannelOptions_CompressionProviders" data-uid="Grpc.Net.Client.GrpcChannelOptions.CompressionProviders">CompressionProviders</h4>
+  <div class="markdown level1 summary"><p>Gets or sets a collection of compression providers.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public IList&lt;ICompressionProvider&gt;? CompressionProviders { get; set; }</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.Nullable</span>&lt;<span class="xref">IList</span>&lt;<a class="xref" href="Grpc.Net.Compression.ICompressionProvider.html">ICompressionProvider</a>&gt;&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Net_Client_GrpcChannelOptions_Credentials_" data-uid="Grpc.Net.Client.GrpcChannelOptions.Credentials*"></a>
+  <h4 id="Grpc_Net_Client_GrpcChannelOptions_Credentials" data-uid="Grpc.Net.Client.GrpcChannelOptions.Credentials">Credentials</h4>
+  <div class="markdown level1 summary"><p>Gets or sets the credentials 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 ChannelCredentials? Credentials { get; set; }</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.Nullable</span>&lt;<span class="xref">ChannelCredentials</span>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Net_Client_GrpcChannelOptions_DisposeHttpClient_" data-uid="Grpc.Net.Client.GrpcChannelOptions.DisposeHttpClient*"></a>
+  <h4 id="Grpc_Net_Client_GrpcChannelOptions_DisposeHttpClient" data-uid="Grpc.Net.Client.GrpcChannelOptions.DisposeHttpClient">DisposeHttpClient</h4>
+  <div class="markdown level1 summary"><p>Gets or sets a value indicating whether the underlying <see cref="!:System.Net.Http.HttpClient"></see> should be disposed
+when the <a class="xref" href="Grpc.Net.Client.GrpcChannel.html">GrpcChannel</a> instance is disposed. The default value is <code>false</code>.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public bool DisposeHttpClient { get; set; }</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.Boolean</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 id="Grpc_Net_Client_GrpcChannelOptions_DisposeHttpClient_remarks">Remarks</h5>
+  <div class="markdown level1 remarks"><p>This setting is used when a <a class="xref" href="Grpc.Net.Client.GrpcChannelOptions.html#Grpc_Net_Client_GrpcChannelOptions_HttpClient">HttpClient</a> value is specified. If no <a class="xref" href="Grpc.Net.Client.GrpcChannelOptions.html#Grpc_Net_Client_GrpcChannelOptions_HttpClient">HttpClient</a> value is provided
+then the channel will create an <see cref="!:System.Net.Http.HttpClient"></see> instance that is always disposed when
+the channel is disposed.</p>
+</div>
+  <a id="Grpc_Net_Client_GrpcChannelOptions_HttpClient_" data-uid="Grpc.Net.Client.GrpcChannelOptions.HttpClient*"></a>
+  <h4 id="Grpc_Net_Client_GrpcChannelOptions_HttpClient" data-uid="Grpc.Net.Client.GrpcChannelOptions.HttpClient">HttpClient</h4>
+  <div class="markdown level1 summary"><p>Gets or sets the <a class="xref" href="Grpc.Net.Client.GrpcChannelOptions.html#Grpc_Net_Client_GrpcChannelOptions_HttpClient">HttpClient</a> used by 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 HttpClient? HttpClient { get; set; }</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.Nullable</span>&lt;<span class="xref">HttpClient</span>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 id="Grpc_Net_Client_GrpcChannelOptions_HttpClient_remarks">Remarks</h5>
+  <div class="markdown level1 remarks"><p>By default a <see cref="!:System.Net.Http.HttpClient"></see> specified here will not be disposed with the channel.
+To dispose the <see cref="!:System.Net.Http.HttpClient"></see> with the channel you must set <a class="xref" href="Grpc.Net.Client.GrpcChannelOptions.html#Grpc_Net_Client_GrpcChannelOptions_DisposeHttpClient">DisposeHttpClient</a>
+to <code>true</code>.</p>
+</div>
+  <a id="Grpc_Net_Client_GrpcChannelOptions_LoggerFactory_" data-uid="Grpc.Net.Client.GrpcChannelOptions.LoggerFactory*"></a>
+  <h4 id="Grpc_Net_Client_GrpcChannelOptions_LoggerFactory" data-uid="Grpc.Net.Client.GrpcChannelOptions.LoggerFactory">LoggerFactory</h4>
+  <div class="markdown level1 summary"><p>Gets or sets the logger factory used by 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 ILoggerFactory? LoggerFactory { get; set; }</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.Nullable</span>&lt;<span class="xref">ILoggerFactory</span>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Net_Client_GrpcChannelOptions_MaxReceiveMessageSize_" data-uid="Grpc.Net.Client.GrpcChannelOptions.MaxReceiveMessageSize*"></a>
+  <h4 id="Grpc_Net_Client_GrpcChannelOptions_MaxReceiveMessageSize" data-uid="Grpc.Net.Client.GrpcChannelOptions.MaxReceiveMessageSize">MaxReceiveMessageSize</h4>
+  <div class="markdown level1 summary"><p>Gets or sets the maximum message size in bytes that can be received by the client.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public int? MaxReceiveMessageSize { get; set; }</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.Nullable</span>&lt;<span class="xref">System.Int32</span>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Net_Client_GrpcChannelOptions_MaxSendMessageSize_" data-uid="Grpc.Net.Client.GrpcChannelOptions.MaxSendMessageSize*"></a>
+  <h4 id="Grpc_Net_Client_GrpcChannelOptions_MaxSendMessageSize" data-uid="Grpc.Net.Client.GrpcChannelOptions.MaxSendMessageSize">MaxSendMessageSize</h4>
+  <div class="markdown level1 summary"><p>Gets or sets the maximum message size in bytes that can be sent from the client.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public int? MaxSendMessageSize { get; set; }</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.Nullable</span>&lt;<span class="xref">System.Int32</span>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Net_Client_GrpcChannelOptions_ThrowOperationCanceledOnCancellation_" data-uid="Grpc.Net.Client.GrpcChannelOptions.ThrowOperationCanceledOnCancellation*"></a>
+  <h4 id="Grpc_Net_Client_GrpcChannelOptions_ThrowOperationCanceledOnCancellation" data-uid="Grpc.Net.Client.GrpcChannelOptions.ThrowOperationCanceledOnCancellation">ThrowOperationCanceledOnCancellation</h4>
+  <div class="markdown level1 summary"><p>Gets or sets a value indicating whether clients will throw <see cref="!:OperationCanceledException"></see> for a call when its
+<see cref="!:CallOptions.CancellationToken"></see> is triggered or its <see cref="!:CallOptions.Deadline"></see> is exceeded.
+The default value is <code>false</code>.
+Note: experimental API that can change or be removed without any prior notice.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public bool ThrowOperationCanceledOnCancellation { get; set; }</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.Boolean</span></td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 129 - 0
csharp-dotnet/api/Grpc.Net.Client.html

@@ -0,0 +1,129 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Namespace Grpc.Net.Client
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Namespace Grpc.Net.Client
+   | gRPC for .NET ">
+    <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.Net.Client">
+  
+  <h1 id="Grpc_Net_Client" data-uid="Grpc.Net.Client" class="text-break">Namespace Grpc.Net.Client
+  </h1>
+  <div class="markdown level0 summary"></div>
+  <div class="markdown level0 conceptual"></div>
+  <div class="markdown level0 remarks"></div>
+    <h3 id="classes">Classes
+  </h3>
+      <h4><a class="xref" href="Grpc.Net.Client.GrpcChannel.html">GrpcChannel</a></h4>
+      <section><p>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.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Net.Client.GrpcChannelOptions.html">GrpcChannelOptions</a></h4>
+      <section><p>An options class for configuring a <a class="xref" href="Grpc.Net.Client.GrpcChannel.html">GrpcChannel</a>.</p>
+</section>
+</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>

+ 194 - 0
csharp-dotnet/api/Grpc.Net.ClientFactory.GrpcClientFactory.html

@@ -0,0 +1,194 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class GrpcClientFactory
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class GrpcClientFactory
+   | gRPC for .NET ">
+    <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.Net.ClientFactory.GrpcClientFactory">
+  
+  
+  <h1 id="Grpc_Net_ClientFactory_GrpcClientFactory" data-uid="Grpc.Net.ClientFactory.GrpcClientFactory" class="text-break">Class GrpcClientFactory
+  </h1>
+  <div class="markdown level0 summary"><p>A factory abstraction for a component that can create gRPC client instances with custom
+configuration for a given logical name.</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">GrpcClientFactory</span></div>
+  </div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.Net.ClientFactory.html">Grpc.Net.ClientFactory</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.Net.ClientFactory.dll</h6>
+  <h5 id="Grpc_Net_ClientFactory_GrpcClientFactory_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract class GrpcClientFactory : object</code></pre>
+  </div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Grpc_Net_ClientFactory_GrpcClientFactory_CreateClient_" data-uid="Grpc.Net.ClientFactory.GrpcClientFactory.CreateClient*"></a>
+  <h4 id="Grpc_Net_ClientFactory_GrpcClientFactory_CreateClient__1_System_String_" data-uid="Grpc.Net.ClientFactory.GrpcClientFactory.CreateClient``1(System.String)">CreateClient&lt;TClient&gt;(String)</h4>
+  <div class="markdown level1 summary"><p>Create a gRPC client instance for the specified <code data-dev-comment-type="typeparamref" class="typeparamref">TClient</code> and configuration name.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public abstract TClient CreateClient&lt;TClient&gt;(string name)
+    where TClient : ClientBase</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">name</span></td>
+        <td><p>The configuration name.</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><span class="xref">TClient</span></td>
+        <td><p>A gRPC client instance.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TClient</span></td>
+        <td><p>The gRPC client type.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 205 - 0
csharp-dotnet/api/Grpc.Net.ClientFactory.GrpcClientFactoryOptions.html

@@ -0,0 +1,205 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class GrpcClientFactoryOptions
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class GrpcClientFactoryOptions
+   | gRPC for .NET ">
+    <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.Net.ClientFactory.GrpcClientFactoryOptions">
+  
+  
+  <h1 id="Grpc_Net_ClientFactory_GrpcClientFactoryOptions" data-uid="Grpc.Net.ClientFactory.GrpcClientFactoryOptions" class="text-break">Class GrpcClientFactoryOptions
+  </h1>
+  <div class="markdown level0 summary"><p>Options used to configure a gRPC client.</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">GrpcClientFactoryOptions</span></div>
+  </div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.Net.ClientFactory.html">Grpc.Net.ClientFactory</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.Net.ClientFactory.dll</h6>
+  <h5 id="Grpc_Net_ClientFactory_GrpcClientFactoryOptions_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public class GrpcClientFactoryOptions : object</code></pre>
+  </div>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Net_ClientFactory_GrpcClientFactoryOptions_Address_" data-uid="Grpc.Net.ClientFactory.GrpcClientFactoryOptions.Address*"></a>
+  <h4 id="Grpc_Net_ClientFactory_GrpcClientFactoryOptions_Address" data-uid="Grpc.Net.ClientFactory.GrpcClientFactoryOptions.Address">Address</h4>
+  <div class="markdown level1 summary"><p>The address to use when making gRPC calls.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Uri? Address { get; set; }</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.Nullable</span>&lt;<span class="xref">Uri</span>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Net_ClientFactory_GrpcClientFactoryOptions_ChannelOptionsActions_" data-uid="Grpc.Net.ClientFactory.GrpcClientFactoryOptions.ChannelOptionsActions*"></a>
+  <h4 id="Grpc_Net_ClientFactory_GrpcClientFactoryOptions_ChannelOptionsActions" data-uid="Grpc.Net.ClientFactory.GrpcClientFactoryOptions.ChannelOptionsActions">ChannelOptionsActions</h4>
+  <div class="markdown level1 summary"><p>Gets a list of operations used to configure a <a class="xref" href="Grpc.Net.Client.GrpcChannelOptions.html">GrpcChannelOptions</a>.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public IList&lt;Action&lt;GrpcChannelOptions&gt;&gt; ChannelOptionsActions { 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">IList</span>&lt;<span class="xref">Action</span>&lt;<a class="xref" href="Grpc.Net.Client.GrpcChannelOptions.html">GrpcChannelOptions</a>&gt;&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Net_ClientFactory_GrpcClientFactoryOptions_Interceptors_" data-uid="Grpc.Net.ClientFactory.GrpcClientFactoryOptions.Interceptors*"></a>
+  <h4 id="Grpc_Net_ClientFactory_GrpcClientFactoryOptions_Interceptors" data-uid="Grpc.Net.ClientFactory.GrpcClientFactoryOptions.Interceptors">Interceptors</h4>
+  <div class="markdown level1 summary"><p>Gets a list of <see cref="!:Interceptor"></see> instances used to configure a gRPC client pipeline.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public IList&lt;Interceptor&gt; Interceptors { 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">IList</span>&lt;<span class="xref">Interceptor</span>&gt;</td>
+        <td></td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 128 - 0
csharp-dotnet/api/Grpc.Net.ClientFactory.html

@@ -0,0 +1,128 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Namespace Grpc.Net.ClientFactory
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Namespace Grpc.Net.ClientFactory
+   | gRPC for .NET ">
+    <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.Net.ClientFactory">
+  
+  <h1 id="Grpc_Net_ClientFactory" data-uid="Grpc.Net.ClientFactory" class="text-break">Namespace Grpc.Net.ClientFactory
+  </h1>
+  <div class="markdown level0 summary"></div>
+  <div class="markdown level0 conceptual"></div>
+  <div class="markdown level0 remarks"></div>
+    <h3 id="classes">Classes
+  </h3>
+      <h4><a class="xref" href="Grpc.Net.ClientFactory.GrpcClientFactory.html">GrpcClientFactory</a></h4>
+      <section><p>A factory abstraction for a component that can create gRPC client instances with custom
+configuration for a given logical name.</p>
+</section>
+      <h4><a class="xref" href="Grpc.Net.ClientFactory.GrpcClientFactoryOptions.html">GrpcClientFactoryOptions</a></h4>
+      <section><p>Options used to configure a gRPC client.</p>
+</section>
+</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>

+ 288 - 0
csharp-dotnet/api/Grpc.Net.Compression.GzipCompressionProvider.html

@@ -0,0 +1,288 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class GzipCompressionProvider
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class GzipCompressionProvider
+   | gRPC for .NET ">
+    <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.Net.Compression.GzipCompressionProvider">
+  
+  
+  <h1 id="Grpc_Net_Compression_GzipCompressionProvider" data-uid="Grpc.Net.Compression.GzipCompressionProvider" class="text-break">Class GzipCompressionProvider
+  </h1>
+  <div class="markdown level0 summary"><p>GZIP compression provider.</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">GzipCompressionProvider</span></div>
+  </div>
+  <div classs="implements">
+    <h5>Implements</h5>
+    <div><a class="xref" href="Grpc.Net.Compression.ICompressionProvider.html">ICompressionProvider</a></div>
+  </div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.Net.Compression.html">Grpc.Net.Compression</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.Net.Common.dll</h6>
+  <h5 id="Grpc_Net_Compression_GzipCompressionProvider_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public class GzipCompressionProvider : object, ICompressionProvider</code></pre>
+  </div>
+  <h3 id="constructors">Constructors
+  </h3>
+  <a id="Grpc_Net_Compression_GzipCompressionProvider__ctor_" data-uid="Grpc.Net.Compression.GzipCompressionProvider.#ctor*"></a>
+  <h4 id="Grpc_Net_Compression_GzipCompressionProvider__ctor_CompressionLevel_" data-uid="Grpc.Net.Compression.GzipCompressionProvider.#ctor(CompressionLevel)">GzipCompressionProvider(CompressionLevel)</h4>
+  <div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Grpc.Net.Compression.GzipCompressionProvider.html">GzipCompressionProvider</a> class with the specified <see cref="!:CompressionLevel"></see>.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public GzipCompressionProvider(CompressionLevel defaultCompressionLevel)</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">CompressionLevel</span></td>
+        <td><span class="parametername">defaultCompressionLevel</span></td>
+        <td><p>The default compression level to use when compressing data.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Net_Compression_GzipCompressionProvider_EncodingName_" data-uid="Grpc.Net.Compression.GzipCompressionProvider.EncodingName*"></a>
+  <h4 id="Grpc_Net_Compression_GzipCompressionProvider_EncodingName" data-uid="Grpc.Net.Compression.GzipCompressionProvider.EncodingName">EncodingName</h4>
+  <div class="markdown level1 summary"><p>The encoding name used in the &apos;grpc-encoding&apos; and &apos;grpc-accept-encoding&apos; request and response headers.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public string EncodingName { 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_Net_Compression_GzipCompressionProvider_CreateCompressionStream_" data-uid="Grpc.Net.Compression.GzipCompressionProvider.CreateCompressionStream*"></a>
+  <h4 id="Grpc_Net_Compression_GzipCompressionProvider_CreateCompressionStream_Stream_System_Nullable_CompressionLevel__" data-uid="Grpc.Net.Compression.GzipCompressionProvider.CreateCompressionStream(Stream,System.Nullable{CompressionLevel})">CreateCompressionStream(Stream, Nullable&lt;CompressionLevel&gt;)</h4>
+  <div class="markdown level1 summary"><p>Create a new compression stream.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Stream CreateCompressionStream(Stream stream, CompressionLevel? compressionLevel)</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">Stream</span></td>
+        <td><span class="parametername">stream</span></td>
+        <td><p>The stream that compressed data is written to.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.Nullable</span>&lt;<span class="xref">CompressionLevel</span>&gt;</td>
+        <td><span class="parametername">compressionLevel</span></td>
+        <td><p>The compression level.</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><span class="xref">Stream</span></td>
+        <td><p>A stream used to compress data.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Net_Compression_GzipCompressionProvider_CreateDecompressionStream_" data-uid="Grpc.Net.Compression.GzipCompressionProvider.CreateDecompressionStream*"></a>
+  <h4 id="Grpc_Net_Compression_GzipCompressionProvider_CreateDecompressionStream_Stream_" data-uid="Grpc.Net.Compression.GzipCompressionProvider.CreateDecompressionStream(Stream)">CreateDecompressionStream(Stream)</h4>
+  <div class="markdown level1 summary"><p>Create a new decompression stream.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public Stream CreateDecompressionStream(Stream stream)</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">Stream</span></td>
+        <td><span class="parametername">stream</span></td>
+        <td><p>The stream that compressed data is copied from.</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><span class="xref">Stream</span></td>
+        <td><p>A stream used to decompress data.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h3 id="implements">Implements</h3>
+  <div>
+      <a class="xref" href="Grpc.Net.Compression.ICompressionProvider.html">ICompressionProvider</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>

+ 246 - 0
csharp-dotnet/api/Grpc.Net.Compression.ICompressionProvider.html

@@ -0,0 +1,246 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Interface ICompressionProvider
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Interface ICompressionProvider
+   | gRPC for .NET ">
+    <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.Net.Compression.ICompressionProvider">
+  
+  
+  <h1 id="Grpc_Net_Compression_ICompressionProvider" data-uid="Grpc.Net.Compression.ICompressionProvider" class="text-break">Interface ICompressionProvider
+  </h1>
+  <div class="markdown level0 summary"><p>Provides a specific compression implementation to compress gRPC messages.</p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Grpc.Net.Compression.html">Grpc.Net.Compression</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.Net.Common.dll</h6>
+  <h5 id="Grpc_Net_Compression_ICompressionProvider_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public interface ICompressionProvider</code></pre>
+  </div>
+  <h3 id="properties">Properties
+  </h3>
+  <a id="Grpc_Net_Compression_ICompressionProvider_EncodingName_" data-uid="Grpc.Net.Compression.ICompressionProvider.EncodingName*"></a>
+  <h4 id="Grpc_Net_Compression_ICompressionProvider_EncodingName" data-uid="Grpc.Net.Compression.ICompressionProvider.EncodingName">EncodingName</h4>
+  <div class="markdown level1 summary"><p>The encoding name used in the &apos;grpc-encoding&apos; and &apos;grpc-accept-encoding&apos; request and response headers.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">string EncodingName { 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_Net_Compression_ICompressionProvider_CreateCompressionStream_" data-uid="Grpc.Net.Compression.ICompressionProvider.CreateCompressionStream*"></a>
+  <h4 id="Grpc_Net_Compression_ICompressionProvider_CreateCompressionStream_Stream_System_Nullable_CompressionLevel__" data-uid="Grpc.Net.Compression.ICompressionProvider.CreateCompressionStream(Stream,System.Nullable{CompressionLevel})">CreateCompressionStream(Stream, Nullable&lt;CompressionLevel&gt;)</h4>
+  <div class="markdown level1 summary"><p>Create a new compression stream.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">Stream CreateCompressionStream(Stream stream, CompressionLevel? compressionLevel)</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">Stream</span></td>
+        <td><span class="parametername">stream</span></td>
+        <td><p>The stream that compressed data is written to.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.Nullable</span>&lt;<span class="xref">CompressionLevel</span>&gt;</td>
+        <td><span class="parametername">compressionLevel</span></td>
+        <td><p>The compression level.</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><span class="xref">Stream</span></td>
+        <td><p>A stream used to compress data.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Grpc_Net_Compression_ICompressionProvider_CreateDecompressionStream_" data-uid="Grpc.Net.Compression.ICompressionProvider.CreateDecompressionStream*"></a>
+  <h4 id="Grpc_Net_Compression_ICompressionProvider_CreateDecompressionStream_Stream_" data-uid="Grpc.Net.Compression.ICompressionProvider.CreateDecompressionStream(Stream)">CreateDecompressionStream(Stream)</h4>
+  <div class="markdown level1 summary"><p>Create a new decompression stream.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">Stream CreateDecompressionStream(Stream stream)</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">Stream</span></td>
+        <td><span class="parametername">stream</span></td>
+        <td><p>The stream that compressed data is copied from.</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><span class="xref">Stream</span></td>
+        <td><p>A stream used to decompress data.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 129 - 0
csharp-dotnet/api/Grpc.Net.Compression.html

@@ -0,0 +1,129 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Namespace Grpc.Net.Compression
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Namespace Grpc.Net.Compression
+   | gRPC for .NET ">
+    <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.Net.Compression">
+  
+  <h1 id="Grpc_Net_Compression" data-uid="Grpc.Net.Compression" class="text-break">Namespace Grpc.Net.Compression
+  </h1>
+  <div class="markdown level0 summary"></div>
+  <div class="markdown level0 conceptual"></div>
+  <div class="markdown level0 remarks"></div>
+    <h3 id="classes">Classes
+  </h3>
+      <h4><a class="xref" href="Grpc.Net.Compression.GzipCompressionProvider.html">GzipCompressionProvider</a></h4>
+      <section><p>GZIP compression provider.</p>
+</section>
+    <h3 id="interfaces">Interfaces
+  </h3>
+      <h4><a class="xref" href="Grpc.Net.Compression.ICompressionProvider.html">ICompressionProvider</a></h4>
+      <section><p>Provides a specific compression implementation to compress gRPC messages.</p>
+</section>
+</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>

+ 193 - 0
csharp-dotnet/api/Microsoft.AspNetCore.Builder.GrpcEndpointRouteBuilderExtensions.html

@@ -0,0 +1,193 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class GrpcEndpointRouteBuilderExtensions
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class GrpcEndpointRouteBuilderExtensions
+   | gRPC for .NET ">
+    <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="Microsoft.AspNetCore.Builder.GrpcEndpointRouteBuilderExtensions">
+  
+  
+  <h1 id="Microsoft_AspNetCore_Builder_GrpcEndpointRouteBuilderExtensions" data-uid="Microsoft.AspNetCore.Builder.GrpcEndpointRouteBuilderExtensions" class="text-break">Class GrpcEndpointRouteBuilderExtensions
+  </h1>
+  <div class="markdown level0 summary"><p>Provides extension methods for <see cref="!:IEndpointRouteBuilder"></see> to add gRPC service endpoints.</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">GrpcEndpointRouteBuilderExtensions</span></div>
+  </div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Microsoft.AspNetCore.Builder.html">Microsoft.AspNetCore.Builder</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.AspNetCore.Server.dll</h6>
+  <h5 id="Microsoft_AspNetCore_Builder_GrpcEndpointRouteBuilderExtensions_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static class GrpcEndpointRouteBuilderExtensions : object</code></pre>
+  </div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Microsoft_AspNetCore_Builder_GrpcEndpointRouteBuilderExtensions_MapGrpcService_" data-uid="Microsoft.AspNetCore.Builder.GrpcEndpointRouteBuilderExtensions.MapGrpcService*"></a>
+  <h4 id="Microsoft_AspNetCore_Builder_GrpcEndpointRouteBuilderExtensions_MapGrpcService__1_IEndpointRouteBuilder_" data-uid="Microsoft.AspNetCore.Builder.GrpcEndpointRouteBuilderExtensions.MapGrpcService``1(IEndpointRouteBuilder)">MapGrpcService&lt;TService&gt;(IEndpointRouteBuilder)</h4>
+  <div class="markdown level1 summary"><p>Maps incoming requests to the specified <code data-dev-comment-type="typeparamref" class="typeparamref">TService</code> type.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static GrpcServiceEndpointConventionBuilder MapGrpcService&lt;TService&gt;(this IEndpointRouteBuilder builder)
+    where TService : class</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">IEndpointRouteBuilder</span></td>
+        <td><span class="parametername">builder</span></td>
+        <td><p>The <see cref="!:IEndpointRouteBuilder"></see> to add the route to.</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="Microsoft.AspNetCore.Builder.GrpcServiceEndpointConventionBuilder.html">GrpcServiceEndpointConventionBuilder</a></td>
+        <td><p>A <a class="xref" href="Microsoft.AspNetCore.Builder.GrpcServiceEndpointConventionBuilder.html">GrpcServiceEndpointConventionBuilder</a> for endpoints associated with the service.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TService</span></td>
+        <td><p>The service type to map requests to.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 177 - 0
csharp-dotnet/api/Microsoft.AspNetCore.Builder.GrpcReflectionEndpointRouteBuilderExtensions.html

@@ -0,0 +1,177 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class GrpcReflectionEndpointRouteBuilderExtensions
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class GrpcReflectionEndpointRouteBuilderExtensions
+   | gRPC for .NET ">
+    <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="Microsoft.AspNetCore.Builder.GrpcReflectionEndpointRouteBuilderExtensions">
+  
+  
+  <h1 id="Microsoft_AspNetCore_Builder_GrpcReflectionEndpointRouteBuilderExtensions" data-uid="Microsoft.AspNetCore.Builder.GrpcReflectionEndpointRouteBuilderExtensions" class="text-break">Class GrpcReflectionEndpointRouteBuilderExtensions
+  </h1>
+  <div class="markdown level0 summary"><p>Provides extension methods for <see cref="!:IEndpointRouteBuilder"></see> to add gRPC service endpoints.</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">GrpcReflectionEndpointRouteBuilderExtensions</span></div>
+  </div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Microsoft.AspNetCore.Builder.html">Microsoft.AspNetCore.Builder</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.AspNetCore.Server.Reflection.dll</h6>
+  <h5 id="Microsoft_AspNetCore_Builder_GrpcReflectionEndpointRouteBuilderExtensions_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static class GrpcReflectionEndpointRouteBuilderExtensions : object</code></pre>
+  </div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Microsoft_AspNetCore_Builder_GrpcReflectionEndpointRouteBuilderExtensions_MapGrpcReflectionService_" data-uid="Microsoft.AspNetCore.Builder.GrpcReflectionEndpointRouteBuilderExtensions.MapGrpcReflectionService*"></a>
+  <h4 id="Microsoft_AspNetCore_Builder_GrpcReflectionEndpointRouteBuilderExtensions_MapGrpcReflectionService_IEndpointRouteBuilder_" data-uid="Microsoft.AspNetCore.Builder.GrpcReflectionEndpointRouteBuilderExtensions.MapGrpcReflectionService(IEndpointRouteBuilder)">MapGrpcReflectionService(IEndpointRouteBuilder)</h4>
+  <div class="markdown level1 summary"><p>Maps incoming requests to the gRPC reflection service.
+This service can be queried to discover the gRPC services on the server.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static IEndpointConventionBuilder MapGrpcReflectionService(this IEndpointRouteBuilder builder)</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">IEndpointRouteBuilder</span></td>
+        <td><span class="parametername">builder</span></td>
+        <td><p>The <see cref="!:IEndpointRouteBuilder"></see> to add the route to.</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><span class="xref">IEndpointConventionBuilder</span></td>
+        <td><p>An <see cref="!:IEndpointConventionBuilder"></see> for endpoints associated with the service.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 160 - 0
csharp-dotnet/api/Microsoft.AspNetCore.Builder.GrpcServiceEndpointConventionBuilder.html

@@ -0,0 +1,160 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class GrpcServiceEndpointConventionBuilder
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class GrpcServiceEndpointConventionBuilder
+   | gRPC for .NET ">
+    <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="Microsoft.AspNetCore.Builder.GrpcServiceEndpointConventionBuilder">
+  
+  
+  <h1 id="Microsoft_AspNetCore_Builder_GrpcServiceEndpointConventionBuilder" data-uid="Microsoft.AspNetCore.Builder.GrpcServiceEndpointConventionBuilder" class="text-break">Class GrpcServiceEndpointConventionBuilder
+  </h1>
+  <div class="markdown level0 summary"><p>Builds conventions that will be used for customization of gRPC service <see cref="!:EndpointBuilder"></see> instances.</p>
+</div>
+  <div class="markdown level0 conceptual"></div>
+  <div class="inheritance">
+    <h5>Inheritance</h5>
+    <div class="level0"><span class="xref">IEndpointConventionBuilder</span></div>
+    <div class="level1"><span class="xref">GrpcServiceEndpointConventionBuilder</span></div>
+  </div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Microsoft.AspNetCore.Builder.html">Microsoft.AspNetCore.Builder</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.AspNetCore.Server.dll</h6>
+  <h5 id="Microsoft_AspNetCore_Builder_GrpcServiceEndpointConventionBuilder_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public sealed class GrpcServiceEndpointConventionBuilder : IEndpointConventionBuilder</code></pre>
+  </div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Microsoft_AspNetCore_Builder_GrpcServiceEndpointConventionBuilder_Add_" data-uid="Microsoft.AspNetCore.Builder.GrpcServiceEndpointConventionBuilder.Add*"></a>
+  <h4 id="Microsoft_AspNetCore_Builder_GrpcServiceEndpointConventionBuilder_Add_Action_EndpointBuilder__" data-uid="Microsoft.AspNetCore.Builder.GrpcServiceEndpointConventionBuilder.Add(Action{EndpointBuilder})">Add(Action&lt;EndpointBuilder&gt;)</h4>
+  <div class="markdown level1 summary"><p>Adds the specified convention to the builder. Conventions are used to customize <see cref="!:EndpointBuilder"></see> instances.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public void Add(Action&lt;EndpointBuilder&gt; convention)</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">Action</span>&lt;<span class="xref">EndpointBuilder</span>&gt;</td>
+        <td><span class="parametername">convention</span></td>
+        <td><p>The convention to add to the builder.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 130 - 0
csharp-dotnet/api/Microsoft.AspNetCore.Builder.html

@@ -0,0 +1,130 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Namespace Microsoft.AspNetCore.Builder
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Namespace Microsoft.AspNetCore.Builder
+   | gRPC for .NET ">
+    <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="Microsoft.AspNetCore.Builder">
+  
+  <h1 id="Microsoft_AspNetCore_Builder" data-uid="Microsoft.AspNetCore.Builder" class="text-break">Namespace Microsoft.AspNetCore.Builder
+  </h1>
+  <div class="markdown level0 summary"></div>
+  <div class="markdown level0 conceptual"></div>
+  <div class="markdown level0 remarks"></div>
+    <h3 id="classes">Classes
+  </h3>
+      <h4><a class="xref" href="Microsoft.AspNetCore.Builder.GrpcEndpointRouteBuilderExtensions.html">GrpcEndpointRouteBuilderExtensions</a></h4>
+      <section><p>Provides extension methods for <see cref="!:IEndpointRouteBuilder"></see> to add gRPC service endpoints.</p>
+</section>
+      <h4><a class="xref" href="Microsoft.AspNetCore.Builder.GrpcReflectionEndpointRouteBuilderExtensions.html">GrpcReflectionEndpointRouteBuilderExtensions</a></h4>
+      <section><p>Provides extension methods for <see cref="!:IEndpointRouteBuilder"></see> to add gRPC service endpoints.</p>
+</section>
+      <h4><a class="xref" href="Microsoft.AspNetCore.Builder.GrpcServiceEndpointConventionBuilder.html">GrpcServiceEndpointConventionBuilder</a></h4>
+      <section><p>Builds conventions that will be used for customization of gRPC service <see cref="!:EndpointBuilder"></see> instances.</p>
+</section>
+</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>

+ 624 - 0
csharp-dotnet/api/Microsoft.Extensions.DependencyInjection.GrpcClientServiceExtensions.html

@@ -0,0 +1,624 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class GrpcClientServiceExtensions
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class GrpcClientServiceExtensions
+   | gRPC for .NET ">
+    <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="Microsoft.Extensions.DependencyInjection.GrpcClientServiceExtensions">
+  
+  
+  <h1 id="Microsoft_Extensions_DependencyInjection_GrpcClientServiceExtensions" data-uid="Microsoft.Extensions.DependencyInjection.GrpcClientServiceExtensions" class="text-break">Class GrpcClientServiceExtensions
+  </h1>
+  <div class="markdown level0 summary"><p>Extensions methods to configure an <see cref="!:IServiceCollection"></see> for <see cref="!:IHttpClientFactory"></see> with gRPC.</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">GrpcClientServiceExtensions</span></div>
+  </div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Microsoft.Extensions.DependencyInjection.html">Microsoft.Extensions.DependencyInjection</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.Net.ClientFactory.dll</h6>
+  <h5 id="Microsoft_Extensions_DependencyInjection_GrpcClientServiceExtensions_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static class GrpcClientServiceExtensions : object</code></pre>
+  </div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Microsoft_Extensions_DependencyInjection_GrpcClientServiceExtensions_AddGrpcClient_" data-uid="Microsoft.Extensions.DependencyInjection.GrpcClientServiceExtensions.AddGrpcClient*"></a>
+  <h4 id="Microsoft_Extensions_DependencyInjection_GrpcClientServiceExtensions_AddGrpcClient__1_IServiceCollection_" data-uid="Microsoft.Extensions.DependencyInjection.GrpcClientServiceExtensions.AddGrpcClient``1(IServiceCollection)">AddGrpcClient&lt;TClient&gt;(IServiceCollection)</h4>
+  <div class="markdown level1 summary"><p>Adds the <see cref="!:IHttpClientFactory"></see> and related services to the <see cref="!:IServiceCollection"></see> and configures
+a binding between the <code data-dev-comment-type="typeparamref" class="typeparamref">TClient</code> type and a named <see cref="!:HttpClient"></see>. The client name
+will be set to the type name of <code data-dev-comment-type="typeparamref" class="typeparamref">TClient</code>.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static IHttpClientBuilder AddGrpcClient&lt;TClient&gt;(this IServiceCollection services)
+    where TClient : ClientBase</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">IServiceCollection</span></td>
+        <td><span class="parametername">services</span></td>
+        <td><p>The <see cref="!:IServiceCollection"></see>.</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><span class="xref">IHttpClientBuilder</span></td>
+        <td><p>An <see cref="!:IHttpClientBuilder"></see> that can be used to configure the client.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TClient</span></td>
+        <td><p>The type of the gRPC client. The type specified will be registered in the service collection as
+a transient service.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 id="Microsoft_Extensions_DependencyInjection_GrpcClientServiceExtensions_AddGrpcClient__1_IServiceCollection__remarks">Remarks</h5>
+  <div class="markdown level1 remarks"><p>
+<see cref="!:HttpClient"></see> instances that apply the provided configuration can be retrieved using
+<see cref="!:IHttpClientFactory.CreateClient(string)"></see> and providing the matching name.
+</p>
+<p>
+<code data-dev-comment-type="typeparamref" class="typeparamref">TClient</code> instances constructed with the appropriate <see cref="!:HttpClient"></see>
+can be retrieved from <see cref="!:IServiceProvider.GetService(Type)"></see> (and related methods) by providing
+<code data-dev-comment-type="typeparamref" class="typeparamref">TClient</code> as the service type.
+</p>
+</div>
+  <a id="Microsoft_Extensions_DependencyInjection_GrpcClientServiceExtensions_AddGrpcClient_" data-uid="Microsoft.Extensions.DependencyInjection.GrpcClientServiceExtensions.AddGrpcClient*"></a>
+  <h4 id="Microsoft_Extensions_DependencyInjection_GrpcClientServiceExtensions_AddGrpcClient__1_IServiceCollection_Action_Grpc_Net_ClientFactory_GrpcClientFactoryOptions__" data-uid="Microsoft.Extensions.DependencyInjection.GrpcClientServiceExtensions.AddGrpcClient``1(IServiceCollection,Action{Grpc.Net.ClientFactory.GrpcClientFactoryOptions})">AddGrpcClient&lt;TClient&gt;(IServiceCollection, Action&lt;GrpcClientFactoryOptions&gt;)</h4>
+  <div class="markdown level1 summary"><p>Adds the <see cref="!:IHttpClientFactory"></see> and related services to the <see cref="!:IServiceCollection"></see> and configures
+a binding between the <code data-dev-comment-type="typeparamref" class="typeparamref">TClient</code> type and a named <see cref="!:HttpClient"></see>. The client name
+will be set to the type name of <code data-dev-comment-type="typeparamref" class="typeparamref">TClient</code>.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static IHttpClientBuilder AddGrpcClient&lt;TClient&gt;(this IServiceCollection services, Action&lt;GrpcClientFactoryOptions&gt; configureClient)
+    where TClient : ClientBase</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">IServiceCollection</span></td>
+        <td><span class="parametername">services</span></td>
+        <td><p>The <see cref="!:IServiceCollection"></see>.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Action</span>&lt;<a class="xref" href="Grpc.Net.ClientFactory.GrpcClientFactoryOptions.html">GrpcClientFactoryOptions</a>&gt;</td>
+        <td><span class="parametername">configureClient</span></td>
+        <td><p>A delegate that is used to configure the gRPC client.</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><span class="xref">IHttpClientBuilder</span></td>
+        <td><p>An <see cref="!:IHttpClientBuilder"></see> that can be used to configure the client.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TClient</span></td>
+        <td><p>The type of the gRPC client. The type specified will be registered in the service collection as
+a transient service.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 id="Microsoft_Extensions_DependencyInjection_GrpcClientServiceExtensions_AddGrpcClient__1_IServiceCollection_Action_Grpc_Net_ClientFactory_GrpcClientFactoryOptions___remarks">Remarks</h5>
+  <div class="markdown level1 remarks"><p>
+<see cref="!:HttpClient"></see> instances that apply the provided configuration can be retrieved using
+<see cref="!:IHttpClientFactory.CreateClient(string)"></see> and providing the matching name.
+</p>
+<p>
+<code data-dev-comment-type="typeparamref" class="typeparamref">TClient</code> instances constructed with the appropriate <see cref="!:HttpClient"></see>
+can be retrieved from <see cref="!:IServiceProvider.GetService(Type)"></see> (and related methods) by providing
+<code data-dev-comment-type="typeparamref" class="typeparamref">TClient</code> as the service type.
+</p>
+</div>
+  <a id="Microsoft_Extensions_DependencyInjection_GrpcClientServiceExtensions_AddGrpcClient_" data-uid="Microsoft.Extensions.DependencyInjection.GrpcClientServiceExtensions.AddGrpcClient*"></a>
+  <h4 id="Microsoft_Extensions_DependencyInjection_GrpcClientServiceExtensions_AddGrpcClient__1_IServiceCollection_Action_IServiceProvider_Grpc_Net_ClientFactory_GrpcClientFactoryOptions__" data-uid="Microsoft.Extensions.DependencyInjection.GrpcClientServiceExtensions.AddGrpcClient``1(IServiceCollection,Action{IServiceProvider,Grpc.Net.ClientFactory.GrpcClientFactoryOptions})">AddGrpcClient&lt;TClient&gt;(IServiceCollection, Action&lt;IServiceProvider, GrpcClientFactoryOptions&gt;)</h4>
+  <div class="markdown level1 summary"><p>Adds the <see cref="!:IHttpClientFactory"></see> and related services to the <see cref="!:IServiceCollection"></see> and configures
+a binding between the <code data-dev-comment-type="typeparamref" class="typeparamref">TClient</code> type and a named <see cref="!:HttpClient"></see>. The client name
+will be set to the type name of <code data-dev-comment-type="typeparamref" class="typeparamref">TClient</code>.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static IHttpClientBuilder AddGrpcClient&lt;TClient&gt;(this IServiceCollection services, Action&lt;IServiceProvider, GrpcClientFactoryOptions&gt; configureClient)
+    where TClient : ClientBase</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">IServiceCollection</span></td>
+        <td><span class="parametername">services</span></td>
+        <td><p>The <see cref="!:IServiceCollection"></see>.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Action</span>&lt;<span class="xref">IServiceProvider</span>, <a class="xref" href="Grpc.Net.ClientFactory.GrpcClientFactoryOptions.html">GrpcClientFactoryOptions</a>&gt;</td>
+        <td><span class="parametername">configureClient</span></td>
+        <td><p>A delegate that is used to configure the gRPC client.</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><span class="xref">IHttpClientBuilder</span></td>
+        <td><p>An <see cref="!:IHttpClientBuilder"></see> that can be used to configure the client.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TClient</span></td>
+        <td><p>The type of the gRPC client. The type specified will be registered in the service collection as
+a transient service.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 id="Microsoft_Extensions_DependencyInjection_GrpcClientServiceExtensions_AddGrpcClient__1_IServiceCollection_Action_IServiceProvider_Grpc_Net_ClientFactory_GrpcClientFactoryOptions___remarks">Remarks</h5>
+  <div class="markdown level1 remarks"><p>
+<see cref="!:HttpClient"></see> instances that apply the provided configuration can be retrieved using
+<see cref="!:IHttpClientFactory.CreateClient(string)"></see> and providing the matching name.
+</p>
+<p>
+<code data-dev-comment-type="typeparamref" class="typeparamref">TClient</code> instances constructed with the appropriate <see cref="!:HttpClient"></see>
+can be retrieved from <see cref="!:IServiceProvider.GetService(Type)"></see> (and related methods) by providing
+<code data-dev-comment-type="typeparamref" class="typeparamref">TClient</code> as the service type.
+</p>
+<p>
+The <see cref="!:IServiceProvider"></see> argument provided to <code data-dev-comment-type="paramref" class="paramref">configureClient</code> will be
+a reference to a scoped service provider that shares the lifetime of the handler being constructed.
+</p>
+</div>
+  <a id="Microsoft_Extensions_DependencyInjection_GrpcClientServiceExtensions_AddGrpcClient_" data-uid="Microsoft.Extensions.DependencyInjection.GrpcClientServiceExtensions.AddGrpcClient*"></a>
+  <h4 id="Microsoft_Extensions_DependencyInjection_GrpcClientServiceExtensions_AddGrpcClient__1_IServiceCollection_System_String_" data-uid="Microsoft.Extensions.DependencyInjection.GrpcClientServiceExtensions.AddGrpcClient``1(IServiceCollection,System.String)">AddGrpcClient&lt;TClient&gt;(IServiceCollection, String)</h4>
+  <div class="markdown level1 summary"><p>Adds the <see cref="!:IHttpClientFactory"></see> and related services to the <see cref="!:IServiceCollection"></see> and configures
+a binding between the <code data-dev-comment-type="typeparamref" class="typeparamref">TClient</code> type and a named <see cref="!:HttpClient"></see>.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static IHttpClientBuilder AddGrpcClient&lt;TClient&gt;(this IServiceCollection services, string name)
+    where TClient : ClientBase</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">IServiceCollection</span></td>
+        <td><span class="parametername">services</span></td>
+        <td><p>The <see cref="!:IServiceCollection"></see>.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.String</span></td>
+        <td><span class="parametername">name</span></td>
+        <td><p>The logical name of the <see cref="!:HttpClient"></see> to configure.</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><span class="xref">IHttpClientBuilder</span></td>
+        <td><p>An <see cref="!:IHttpClientBuilder"></see> that can be used to configure the client.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TClient</span></td>
+        <td><p>The type of the gRPC client. The type specified will be registered in the service collection as
+a transient service.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 id="Microsoft_Extensions_DependencyInjection_GrpcClientServiceExtensions_AddGrpcClient__1_IServiceCollection_System_String__remarks">Remarks</h5>
+  <div class="markdown level1 remarks"><p>
+<see cref="!:HttpClient"></see> instances that apply the provided configuration can be retrieved using
+<see cref="!:IHttpClientFactory.CreateClient(string)"></see> and providing the matching name.
+</p>
+<p>
+<code data-dev-comment-type="typeparamref" class="typeparamref">TClient</code> instances constructed with the appropriate <see cref="!:HttpClient"></see>
+can be retrieved from <see cref="!:IServiceProvider.GetService(Type)"></see> (and related methods) by providing
+<code data-dev-comment-type="typeparamref" class="typeparamref">TClient</code> as the service type.
+</p>
+</div>
+  <a id="Microsoft_Extensions_DependencyInjection_GrpcClientServiceExtensions_AddGrpcClient_" data-uid="Microsoft.Extensions.DependencyInjection.GrpcClientServiceExtensions.AddGrpcClient*"></a>
+  <h4 id="Microsoft_Extensions_DependencyInjection_GrpcClientServiceExtensions_AddGrpcClient__1_IServiceCollection_System_String_Action_Grpc_Net_ClientFactory_GrpcClientFactoryOptions__" data-uid="Microsoft.Extensions.DependencyInjection.GrpcClientServiceExtensions.AddGrpcClient``1(IServiceCollection,System.String,Action{Grpc.Net.ClientFactory.GrpcClientFactoryOptions})">AddGrpcClient&lt;TClient&gt;(IServiceCollection, String, Action&lt;GrpcClientFactoryOptions&gt;)</h4>
+  <div class="markdown level1 summary"><p>Adds the <see cref="!:IHttpClientFactory"></see> and related services to the <see cref="!:IServiceCollection"></see> and configures
+a binding between the <code data-dev-comment-type="typeparamref" class="typeparamref">TClient</code> type and a named <see cref="!:HttpClient"></see>.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static IHttpClientBuilder AddGrpcClient&lt;TClient&gt;(this IServiceCollection services, string name, Action&lt;GrpcClientFactoryOptions&gt; configureClient)
+    where TClient : ClientBase</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">IServiceCollection</span></td>
+        <td><span class="parametername">services</span></td>
+        <td><p>The <see cref="!:IServiceCollection"></see>.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.String</span></td>
+        <td><span class="parametername">name</span></td>
+        <td><p>The logical name of the <see cref="!:HttpClient"></see> to configure.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Action</span>&lt;<a class="xref" href="Grpc.Net.ClientFactory.GrpcClientFactoryOptions.html">GrpcClientFactoryOptions</a>&gt;</td>
+        <td><span class="parametername">configureClient</span></td>
+        <td><p>A delegate that is used to configure the gRPC client.</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><span class="xref">IHttpClientBuilder</span></td>
+        <td><p>An <see cref="!:IHttpClientBuilder"></see> that can be used to configure the client.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TClient</span></td>
+        <td><p>The type of the gRPC client. The type specified will be registered in the service collection as
+a transient service.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 id="Microsoft_Extensions_DependencyInjection_GrpcClientServiceExtensions_AddGrpcClient__1_IServiceCollection_System_String_Action_Grpc_Net_ClientFactory_GrpcClientFactoryOptions___remarks">Remarks</h5>
+  <div class="markdown level1 remarks"><p>
+<see cref="!:HttpClient"></see> instances that apply the provided configuration can be retrieved using
+<see cref="!:IHttpClientFactory.CreateClient(string)"></see> and providing the matching name.
+</p>
+<p>
+<code data-dev-comment-type="typeparamref" class="typeparamref">TClient</code> instances constructed with the appropriate <see cref="!:HttpClient"></see>
+can be retrieved from <see cref="!:IServiceProvider.GetService(Type)"></see> (and related methods) by providing
+<code data-dev-comment-type="typeparamref" class="typeparamref">TClient</code> as the service type.
+</p>
+</div>
+  <a id="Microsoft_Extensions_DependencyInjection_GrpcClientServiceExtensions_AddGrpcClient_" data-uid="Microsoft.Extensions.DependencyInjection.GrpcClientServiceExtensions.AddGrpcClient*"></a>
+  <h4 id="Microsoft_Extensions_DependencyInjection_GrpcClientServiceExtensions_AddGrpcClient__1_IServiceCollection_System_String_Action_IServiceProvider_Grpc_Net_ClientFactory_GrpcClientFactoryOptions__" data-uid="Microsoft.Extensions.DependencyInjection.GrpcClientServiceExtensions.AddGrpcClient``1(IServiceCollection,System.String,Action{IServiceProvider,Grpc.Net.ClientFactory.GrpcClientFactoryOptions})">AddGrpcClient&lt;TClient&gt;(IServiceCollection, String, Action&lt;IServiceProvider, GrpcClientFactoryOptions&gt;)</h4>
+  <div class="markdown level1 summary"><p>Adds the <see cref="!:IHttpClientFactory"></see> and related services to the <see cref="!:IServiceCollection"></see> and configures
+a binding between the <code data-dev-comment-type="typeparamref" class="typeparamref">TClient</code> type and a named <see cref="!:HttpClient"></see>.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static IHttpClientBuilder AddGrpcClient&lt;TClient&gt;(this IServiceCollection services, string name, Action&lt;IServiceProvider, GrpcClientFactoryOptions&gt; configureClient)
+    where TClient : ClientBase</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">IServiceCollection</span></td>
+        <td><span class="parametername">services</span></td>
+        <td><p>The <see cref="!:IServiceCollection"></see>.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">System.String</span></td>
+        <td><span class="parametername">name</span></td>
+        <td><p>The logical name of the <see cref="!:HttpClient"></see> to configure.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Action</span>&lt;<span class="xref">IServiceProvider</span>, <a class="xref" href="Grpc.Net.ClientFactory.GrpcClientFactoryOptions.html">GrpcClientFactoryOptions</a>&gt;</td>
+        <td><span class="parametername">configureClient</span></td>
+        <td><p>A delegate that is used to configure the gRPC client.</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><span class="xref">IHttpClientBuilder</span></td>
+        <td><p>An <see cref="!:IHttpClientBuilder"></see> that can be used to configure the client.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TClient</span></td>
+        <td><p>The type of the gRPC client. The type specified will be registered in the service collection as
+a transient service.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 id="Microsoft_Extensions_DependencyInjection_GrpcClientServiceExtensions_AddGrpcClient__1_IServiceCollection_System_String_Action_IServiceProvider_Grpc_Net_ClientFactory_GrpcClientFactoryOptions___remarks">Remarks</h5>
+  <div class="markdown level1 remarks"><p>
+<see cref="!:HttpClient"></see> instances that apply the provided configuration can be retrieved using
+<see cref="!:IHttpClientFactory.CreateClient(string)"></see> and providing the matching name.
+</p>
+<p>
+<code data-dev-comment-type="typeparamref" class="typeparamref">TClient</code> instances constructed with the appropriate <see cref="!:HttpClient"></see>
+can be retrieved from <see cref="!:IServiceProvider.GetService(Type)"></see> (and related methods) by providing
+<code data-dev-comment-type="typeparamref" class="typeparamref">TClient</code> as the service type.
+</p>
+<p>
+The <see cref="!:IServiceProvider"></see> argument provided to <code data-dev-comment-type="paramref" class="paramref">configureClient</code> will be
+a reference to a scoped service provider that shares the lifetime of the handler being constructed.
+</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>

+ 389 - 0
csharp-dotnet/api/Microsoft.Extensions.DependencyInjection.GrpcHttpClientBuilderExtensions.html

@@ -0,0 +1,389 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class GrpcHttpClientBuilderExtensions
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class GrpcHttpClientBuilderExtensions
+   | gRPC for .NET ">
+    <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="Microsoft.Extensions.DependencyInjection.GrpcHttpClientBuilderExtensions">
+  
+  
+  <h1 id="Microsoft_Extensions_DependencyInjection_GrpcHttpClientBuilderExtensions" data-uid="Microsoft.Extensions.DependencyInjection.GrpcHttpClientBuilderExtensions" class="text-break">Class GrpcHttpClientBuilderExtensions
+  </h1>
+  <div class="markdown level0 summary"><p>Extension methods for configuring an <see cref="!:IHttpClientBuilder"></see>.</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">GrpcHttpClientBuilderExtensions</span></div>
+  </div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Microsoft.Extensions.DependencyInjection.html">Microsoft.Extensions.DependencyInjection</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.Net.ClientFactory.dll</h6>
+  <h5 id="Microsoft_Extensions_DependencyInjection_GrpcHttpClientBuilderExtensions_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static class GrpcHttpClientBuilderExtensions : object</code></pre>
+  </div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Microsoft_Extensions_DependencyInjection_GrpcHttpClientBuilderExtensions_AddInterceptor_" data-uid="Microsoft.Extensions.DependencyInjection.GrpcHttpClientBuilderExtensions.AddInterceptor*"></a>
+  <h4 id="Microsoft_Extensions_DependencyInjection_GrpcHttpClientBuilderExtensions_AddInterceptor_IHttpClientBuilder_Func_Interceptor__" data-uid="Microsoft.Extensions.DependencyInjection.GrpcHttpClientBuilderExtensions.AddInterceptor(IHttpClientBuilder,Func{Interceptor})">AddInterceptor(IHttpClientBuilder, Func&lt;Interceptor&gt;)</h4>
+  <div class="markdown level1 summary"><p>Adds a delegate that will be used to create an additional inteceptor for a gRPC client.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static IHttpClientBuilder AddInterceptor(this IHttpClientBuilder builder, Func&lt;Interceptor&gt; configureInvoker)</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">IHttpClientBuilder</span></td>
+        <td><span class="parametername">builder</span></td>
+        <td><p>The <see cref="!:IHttpClientBuilder"></see>.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Func</span>&lt;<span class="xref">Interceptor</span>&gt;</td>
+        <td><span class="parametername">configureInvoker</span></td>
+        <td><p>A delegate that is used to create an <see cref="!:Interceptor"></see>.</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><span class="xref">IHttpClientBuilder</span></td>
+        <td><p>An <see cref="!:IHttpClientBuilder"></see> that can be used to configure the client.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Microsoft_Extensions_DependencyInjection_GrpcHttpClientBuilderExtensions_AddInterceptor_" data-uid="Microsoft.Extensions.DependencyInjection.GrpcHttpClientBuilderExtensions.AddInterceptor*"></a>
+  <h4 id="Microsoft_Extensions_DependencyInjection_GrpcHttpClientBuilderExtensions_AddInterceptor_IHttpClientBuilder_Func_IServiceProvider_Interceptor__" data-uid="Microsoft.Extensions.DependencyInjection.GrpcHttpClientBuilderExtensions.AddInterceptor(IHttpClientBuilder,Func{IServiceProvider,Interceptor})">AddInterceptor(IHttpClientBuilder, Func&lt;IServiceProvider, Interceptor&gt;)</h4>
+  <div class="markdown level1 summary"><p>Adds a delegate that will be used to create an additional inteceptor for a gRPC client.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static IHttpClientBuilder AddInterceptor(this IHttpClientBuilder builder, Func&lt;IServiceProvider, Interceptor&gt; configureInvoker)</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">IHttpClientBuilder</span></td>
+        <td><span class="parametername">builder</span></td>
+        <td><p>The <see cref="!:IHttpClientBuilder"></see>.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Func</span>&lt;<span class="xref">IServiceProvider</span>, <span class="xref">Interceptor</span>&gt;</td>
+        <td><span class="parametername">configureInvoker</span></td>
+        <td><p>A delegate that is used to create an <see cref="!:Interceptor"></see>.</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><span class="xref">IHttpClientBuilder</span></td>
+        <td><p>An <see cref="!:IHttpClientBuilder"></see> that can be used to configure the client.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Microsoft_Extensions_DependencyInjection_GrpcHttpClientBuilderExtensions_AddInterceptor_" data-uid="Microsoft.Extensions.DependencyInjection.GrpcHttpClientBuilderExtensions.AddInterceptor*"></a>
+  <h4 id="Microsoft_Extensions_DependencyInjection_GrpcHttpClientBuilderExtensions_AddInterceptor__1_IHttpClientBuilder_" data-uid="Microsoft.Extensions.DependencyInjection.GrpcHttpClientBuilderExtensions.AddInterceptor``1(IHttpClientBuilder)">AddInterceptor&lt;TInterceptor&gt;(IHttpClientBuilder)</h4>
+  <div class="markdown level1 summary"><p>Adds an additional interceptor from the dependency injection container for a gRPC client.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static IHttpClientBuilder AddInterceptor&lt;TInterceptor&gt;(this IHttpClientBuilder builder)
+    where TInterceptor : 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><span class="xref">IHttpClientBuilder</span></td>
+        <td><span class="parametername">builder</span></td>
+        <td><p>The <see cref="!:IHttpClientBuilder"></see>.</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><span class="xref">IHttpClientBuilder</span></td>
+        <td><p>An <see cref="!:IHttpClientBuilder"></see> that can be used to configure the client.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <h5 class="typeParameters">Type Parameters</h5>
+  <table class="table table-bordered table-striped table-condensed">
+    <thead>
+      <tr>
+        <th>Name</th>
+        <th>Description</th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td><span class="parametername">TInterceptor</span></td>
+        <td><p>The type of the <see cref="!:Interceptor"></see>.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Microsoft_Extensions_DependencyInjection_GrpcHttpClientBuilderExtensions_ConfigureChannel_" data-uid="Microsoft.Extensions.DependencyInjection.GrpcHttpClientBuilderExtensions.ConfigureChannel*"></a>
+  <h4 id="Microsoft_Extensions_DependencyInjection_GrpcHttpClientBuilderExtensions_ConfigureChannel_IHttpClientBuilder_Action_Grpc_Net_Client_GrpcChannelOptions__" data-uid="Microsoft.Extensions.DependencyInjection.GrpcHttpClientBuilderExtensions.ConfigureChannel(IHttpClientBuilder,Action{Grpc.Net.Client.GrpcChannelOptions})">ConfigureChannel(IHttpClientBuilder, Action&lt;GrpcChannelOptions&gt;)</h4>
+  <div class="markdown level1 summary"><p>Adds a delegate that will be used to configure the channel for a gRPC client.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static IHttpClientBuilder ConfigureChannel(this IHttpClientBuilder builder, Action&lt;GrpcChannelOptions&gt; configureChannel)</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">IHttpClientBuilder</span></td>
+        <td><span class="parametername">builder</span></td>
+        <td><p>The <see cref="!:IHttpClientBuilder"></see>.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Action</span>&lt;<a class="xref" href="Grpc.Net.Client.GrpcChannelOptions.html">GrpcChannelOptions</a>&gt;</td>
+        <td><span class="parametername">configureChannel</span></td>
+        <td><p>A delegate that is used to configure a <a class="xref" href="Grpc.Net.Client.GrpcChannelOptions.html">GrpcChannelOptions</a>.</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><span class="xref">IHttpClientBuilder</span></td>
+        <td><p>An <see cref="!:IHttpClientBuilder"></see> that can be used to configure the client.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+  <a id="Microsoft_Extensions_DependencyInjection_GrpcHttpClientBuilderExtensions_ConfigureChannel_" data-uid="Microsoft.Extensions.DependencyInjection.GrpcHttpClientBuilderExtensions.ConfigureChannel*"></a>
+  <h4 id="Microsoft_Extensions_DependencyInjection_GrpcHttpClientBuilderExtensions_ConfigureChannel_IHttpClientBuilder_Action_IServiceProvider_Grpc_Net_Client_GrpcChannelOptions__" data-uid="Microsoft.Extensions.DependencyInjection.GrpcHttpClientBuilderExtensions.ConfigureChannel(IHttpClientBuilder,Action{IServiceProvider,Grpc.Net.Client.GrpcChannelOptions})">ConfigureChannel(IHttpClientBuilder, Action&lt;IServiceProvider, GrpcChannelOptions&gt;)</h4>
+  <div class="markdown level1 summary"><p>Adds a delegate that will be used to configure the channel for a gRPC client.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static IHttpClientBuilder ConfigureChannel(this IHttpClientBuilder builder, Action&lt;IServiceProvider, GrpcChannelOptions&gt; configureChannel)</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">IHttpClientBuilder</span></td>
+        <td><span class="parametername">builder</span></td>
+        <td><p>The <see cref="!:IHttpClientBuilder"></see>.</p>
+</td>
+      </tr>
+      <tr>
+        <td><span class="xref">Action</span>&lt;<span class="xref">IServiceProvider</span>, <a class="xref" href="Grpc.Net.Client.GrpcChannelOptions.html">GrpcChannelOptions</a>&gt;</td>
+        <td><span class="parametername">configureChannel</span></td>
+        <td><p>A delegate that is used to configure a <a class="xref" href="Grpc.Net.Client.GrpcChannelOptions.html">GrpcChannelOptions</a>.</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><span class="xref">IHttpClientBuilder</span></td>
+        <td><p>An <see cref="!:IHttpClientBuilder"></see> that can be used to configure the client.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 176 - 0
csharp-dotnet/api/Microsoft.Extensions.DependencyInjection.GrpcReflectionServiceExtensions.html

@@ -0,0 +1,176 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class GrpcReflectionServiceExtensions
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class GrpcReflectionServiceExtensions
+   | gRPC for .NET ">
+    <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="Microsoft.Extensions.DependencyInjection.GrpcReflectionServiceExtensions">
+  
+  
+  <h1 id="Microsoft_Extensions_DependencyInjection_GrpcReflectionServiceExtensions" data-uid="Microsoft.Extensions.DependencyInjection.GrpcReflectionServiceExtensions" class="text-break">Class GrpcReflectionServiceExtensions
+  </h1>
+  <div class="markdown level0 summary"><p>Extension methods for the gRPC reflection services.</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">GrpcReflectionServiceExtensions</span></div>
+  </div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Microsoft.Extensions.DependencyInjection.html">Microsoft.Extensions.DependencyInjection</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.AspNetCore.Server.Reflection.dll</h6>
+  <h5 id="Microsoft_Extensions_DependencyInjection_GrpcReflectionServiceExtensions_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static class GrpcReflectionServiceExtensions : object</code></pre>
+  </div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Microsoft_Extensions_DependencyInjection_GrpcReflectionServiceExtensions_AddGrpcReflection_" data-uid="Microsoft.Extensions.DependencyInjection.GrpcReflectionServiceExtensions.AddGrpcReflection*"></a>
+  <h4 id="Microsoft_Extensions_DependencyInjection_GrpcReflectionServiceExtensions_AddGrpcReflection_IServiceCollection_" data-uid="Microsoft.Extensions.DependencyInjection.GrpcReflectionServiceExtensions.AddGrpcReflection(IServiceCollection)">AddGrpcReflection(IServiceCollection)</h4>
+  <div class="markdown level1 summary"><p>Adds gRPC reflection services to the specified <see cref="!:IServiceCollection"></see>.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static IServiceCollection AddGrpcReflection(this IServiceCollection services)</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">IServiceCollection</span></td>
+        <td><span class="parametername">services</span></td>
+        <td><p>The <see cref="!:IServiceCollection"></see> for adding services.</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><span class="xref">IServiceCollection</span></td>
+        <td><p>The <see cref="!:IServiceCollection"></see> so that additional calls can be chained.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

+ 177 - 0
csharp-dotnet/api/Microsoft.Extensions.DependencyInjection.GrpcServerHttpClientBuilderExtensions.html

@@ -0,0 +1,177 @@
+<!DOCTYPE html>
+<!--[if IE]><![endif]-->
+<html>
+  
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>Class GrpcServerHttpClientBuilderExtensions
+   | gRPC for .NET </title>
+    <meta name="viewport" content="width=device-width">
+    <meta name="title" content="Class GrpcServerHttpClientBuilderExtensions
+   | gRPC for .NET ">
+    <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="Microsoft.Extensions.DependencyInjection.GrpcServerHttpClientBuilderExtensions">
+  
+  
+  <h1 id="Microsoft_Extensions_DependencyInjection_GrpcServerHttpClientBuilderExtensions" data-uid="Microsoft.Extensions.DependencyInjection.GrpcServerHttpClientBuilderExtensions" class="text-break">Class GrpcServerHttpClientBuilderExtensions
+  </h1>
+  <div class="markdown level0 summary"><p>Extension methods for configuring an <see cref="!:IHttpClientBuilder"></see>.</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">GrpcServerHttpClientBuilderExtensions</span></div>
+  </div>
+  <h6><strong>Namespace</strong>: <a class="xref" href="Microsoft.Extensions.DependencyInjection.html">Microsoft.Extensions.DependencyInjection</a></h6>
+  <h6><strong>Assembly</strong>: Grpc.AspNetCore.Server.ClientFactory.dll</h6>
+  <h5 id="Microsoft_Extensions_DependencyInjection_GrpcServerHttpClientBuilderExtensions_syntax">Syntax</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static class GrpcServerHttpClientBuilderExtensions : object</code></pre>
+  </div>
+  <h3 id="methods">Methods
+  </h3>
+  <a id="Microsoft_Extensions_DependencyInjection_GrpcServerHttpClientBuilderExtensions_EnableCallContextPropagation_" data-uid="Microsoft.Extensions.DependencyInjection.GrpcServerHttpClientBuilderExtensions.EnableCallContextPropagation*"></a>
+  <h4 id="Microsoft_Extensions_DependencyInjection_GrpcServerHttpClientBuilderExtensions_EnableCallContextPropagation_IHttpClientBuilder_" data-uid="Microsoft.Extensions.DependencyInjection.GrpcServerHttpClientBuilderExtensions.EnableCallContextPropagation(IHttpClientBuilder)">EnableCallContextPropagation(IHttpClientBuilder)</h4>
+  <div class="markdown level1 summary"><p>Configures the server to propagate values from a call&apos;s <see cref="!:ServerCallContext"></see>
+onto the gRPC client.</p>
+</div>
+  <div class="markdown level1 conceptual"></div>
+  <h5 class="decalaration">Declaration</h5>
+  <div class="codewrapper">
+    <pre><code class="lang-csharp hljs">public static IHttpClientBuilder EnableCallContextPropagation(this IHttpClientBuilder builder)</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">IHttpClientBuilder</span></td>
+        <td><span class="parametername">builder</span></td>
+        <td><p>The <see cref="!:IHttpClientBuilder"></see>.</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><span class="xref">IHttpClientBuilder</span></td>
+        <td><p>An <see cref="!:IHttpClientBuilder"></see> that can be used to configure the client.</p>
+</td>
+      </tr>
+    </tbody>
+  </table>
+</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>

部分文件因为文件数量过多而无法显示