首页 > 解决方案 > .Net 5:在 Windows Server 2019 的 IIS 10 中托管 ASP.NET Core gRPC 服务

问题描述

根据 Microsoft Doc 中的这篇文章和这个警告部分:

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

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

对于本文档,我在 IIS 中托管了我的服务

我的问题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 块中。

标签: asp.net-coregrpciis-10.net-5grpc-dotnet

解决方案


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

参考: 在 iis 中托管 grpc 服务或作为应用服务


推荐阅读