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

问题描述

根据 Microsoft Doc 中的此 post 和此警告部分:

ASP.NET Core gRPC 对与 Azure App 一起使用有额外的要求 服务或 IIS。有关可以在何处使用 gRPC 的更多信息,请参阅 .NET 支持平台上的 gRPC。

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

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

我的问题:我在客户端调用 RPC 方法时遇到错误

给定错误

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

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

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

OS:Windows Server 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