diff --git a/aspnetcore/grpc/browser.md b/aspnetcore/grpc/browser.md index 441cecb05d..c2f7316e7c 100644 --- a/aspnetcore/grpc/browser.md +++ b/aspnetcore/grpc/browser.md @@ -4,7 +4,7 @@ author: jamesnk description: Learn how to configure gRPC services on ASP.NET Core to be callable from browser apps using gRPC-Web. monikerRange: '>= aspnetcore-3.0' ms.author: jamesnk -ms.date: 06/29/2020 +ms.date: 06/30/2020 no-loc: [Blazor, "Blazor Server", "Blazor WebAssembly", "Identity", "Let's Encrypt", Razor, SignalR] uid: grpc/browser --- @@ -67,6 +67,15 @@ The preceding code: * Calls `UseCors` to add the CORS middleware after routing and before endpoints. * Specifies the `endpoints.MapGrpcService()` method supports CORS with `RequiresCors`. +### gRPC-Web and streaming + +Traditional gRPC over HTTP/2 supports streaming in all directions. gRPC-Web offers limited support for streaming: + +* gRPC-Web browser clients don't support calling client streaming and bidirectional streaming methods. +* ASP.NET Core gRPC services hosted on Azure App Service and IIS don't support bidirectional streaming. + +When using gRPC-Web, we only recommend the use of unary methods and server streaming methods. + ## Call gRPC-Web from the browser Browser apps can use gRPC-Web to call gRPC services. There are some requirements and limitations when calling gRPC services with gRPC-Web from the browser: