IIS 7 and Above
Support of GRPC
Last post Apr 25, 2019 11:00 AM by Aurelien Lustrement
Apr 24, 2019 09:07 AM|Aurelien Lustrement|LINK
Is a support of GRPC over HTTP/2 on IIS and IISExpress planned ?
Apr 24, 2019 01:48 PM|lextm|LINK
What do you expect IIS/IIS Express to support? When HTTP/2 is supported by them, it is always the responsibilities of the web frameworks (ASP.NET/ASP.NET Core/PHP) to support GRPC (just like what they used to do for SOAP). For example, ASP.NET Core supports
gRPC today, https://docs.microsoft.com/en-us/aspnet/core/grpc/aspnetcore?view=aspnetcore-3.0&tabs=visual-studio Whatever changes are required
by gRPC over HTTP/2, they should go to ASP.NET Core.
Apr 24, 2019 07:29 PM|Aurelien Lustrement|LINK
Currently I use an asp.net core console app with Kestrel to expose my gRPC service. So I understand the support is provided by Kestrel, not asp.net. Am I right ? If yes, Kestrel is not IIS, and for now, Azure Service App is using IIS. So I'm wondering if
there is any plan for IIS to support gRPC. A support of Kestrel as hosting server on Azure Service App would be an other fine solution.
Apr 25, 2019 02:16 AM|lextm|LINK
So I understand the support is provided by Kestrel, not asp.net. Am I right ?
Nope. Kestrel is also a web server, not an application framework like ASP.NET Core.
Apr 25, 2019 09:45 AM|Aurelien Lustrement|LINK
After deeper tests with the same aspnetcore code :
With Kestrel everything is working well.
With IIS (HTTPS/2), gRPC doesn't work only when sending response (2 UNKNOWN: No status received), but the request is well received. This is due to the following error : "Trailers are not supported for this response" in Microsoft.AspNetCore.Http.ResponseTrailerExtensions.AppendTrailer(HttpResponse
response, String trailerName, StringValues trailerValues) at Grpc.AspNetCore.Server.Internal.HttpResponseExtensions.ConsolidateTrailers...
I'm going to contact the AspNetCore team, unless you got some ideas ? Thanks for your time.
Apr 25, 2019 11:00 AM|Aurelien Lustrement|LINK
Finally, it seems to be a problem from IIS => https://github.com/aspnet/AspNetCore/issues/9020