.Net 5:在 Windows Server 2019 在 IIS 10 中托管 ASP.NET 核心 gRPC 服务

.Net 5: Hosting ASP.NET Core gRPC Service in IIS 10 at Windows Server 2019

根据 Microsoft 文档中的 post 和警告部分:

ASP.NET Core gRPC has extra requirements for being used with Azure App Service or IIS. For more information on where gRPC can be used, see gRPC on .NET supported platforms.

我使用上述文档指南在 .NET 5 中使用 Grpc.AspNetCore(2.34.0) 包创建了一个 ASP.Net Core gRPC 服务。

为此我在 IIS 中托管了我的服务 document

我的问题:我从客户端调用 RPC 方法时出错。

给定错误:

Status(StatusCode="Cancelled", Detail="No grpc-status found on response.")

附加: 我在网上搜索并调查了很多问题,但这些问题对我没有帮助。仍然,我有这个错误。我猜想对这个动作有误解或遗漏了问题。

我的主要问题:实际上现在可以在 IIS 中托管 ASP.NET 核心 Grpc 服务。

OS:Windows 服务器 2019 版本 1809 内部版本 17763.1697

IIS:版本 10.0.17763.1

客户代码:

    using var channel = GrpcChannel.ForAddress("https://192.168.13.155");
    var client = new ProccessMessage.ProccessMessageClient(channel);
    try
    {
        var result = client.GetMessage(new Request { Name = "Message" });
    }
    catch (RpcException ex)
    {
        string message = ex.Message;
    }

我得到这个异常:Status(StatusCode="Cancelled", Detail="No grpc-status found on response.") 在 catch 块中。

Windows Server 2019 - 尚不支持使用(进程内).NET 5 通过 IIS 托管 gRPC!

参考: Host grpc service in iis or as an app service