Skip to content

Does GRPC run on Web App (App Services) as of November 2021? #37988

Closed
@mrivero2020

Description

@mrivero2020

Question #1) Can grpc services be deployed on Azure web apps (app service) as of November 2021?
Question #2) If app services cannot host grpc services as of November 2021 then what azure hosting is recommended for them?
Question #3) If grpc services can use app services, are there special configuration settings that must be set to make it work?

Our application design is for an angular client calling functions on a webapi server, which in turn calls functions on grpc services (these replaced older wcf services).

We have created several grpc services and hosted each one of them on their own web app (app service) in Azure. The webapi is hosted on its own web app (app service). All projects (grpc and webapi) are using the .NET 5 stack and all are part of the same subnet. However, we have not been able to make the webapi call functions in any of the grpc services when using Azure web apps for hosting.

In a development environment, these grpc services and the webapi are launched from Visual Studio. The webapi has no problems executing the functions in the local grpc services (using localhost:port).

It does seem that the web api makes the call to the grpc service on azure web apps (logging shown https get calls reaching the server) but the logic added to the partial functions created by the grpc server to do the actual work is never invoked. All the functions are marked as async. Finally, all grpc functions are of the Unary type (no streaming).

All app services (for both grpc and webapi) have been configured the same with :

Stack: .NET
.NET version: .NET 5
Platform: 64 Bit
Managed pipeline version: Integrated
FTP state: Allowed
HTTP Version: 1.1
Web sockets: ON
Always On: On
ARR Afinity: Off
Remote Debugging: Off
Client certificate mode: Ignore

All GRPC projects have these NuGet packages installed:

Grpc.AspNetCore (2.40)
Grpc.Tools (2.41)
Grpc.AspNetcore.Server.Reflection (2.40)
Google.Protobuf (3.19)

The Webapi project (which calls functions on the grpc services) has these NuGet packages installed:
Grpc.Net.Client (2.39)
Grpc.Tools (2.41)
Google.Protobuf (3.19)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions