问题标签 [grpc-dotnet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
623 浏览

docker - 连接到 docker 上运行的 grpc 服务器时出现 DNS 解析失败错误

我正在尝试访问公开 9000 端口并作为 docker 容器运行的 grpc 服务器。

我正在使用 .net 核心客户端连接到服务器。当 GRPC 服务器未作为 docker 容器运行时,它工作得非常好。

我在从客户端创建通道时尝试使用“localhost”、“dockerconatiner-ip”。我在“0.0.0.0”和端口 9000 上运行 grpc 服务器。

docker 命令: docker run -p 9000:9000 -a stdin -a stdout -it

错误:状态(状态代码=不可用,详细信息=“DNS 解析失败”)

码头文件:

服务主体:

测试服务有一种将接收到的文本打印到控制台的方法。

0 投票
2 回答
2600 浏览

protocol-buffers - 将基于 Java 的 Grpc 服务器与基于 C# 的客户端一起使用时出现传输失败错误

我正在使用 spring boot (2.2.2) 和 grpc-server-spring-boot-starter java 库开发基于 java 的 Grpc 服务器。我的客户端应用程序是 C# 应用程序 (netcoreapp3.1)。这两个应用程序都在我的笔记本电脑上运行以进行此测试。

这是我的原型文件

这是服务代码

我首先使用这个工具工具测试了服务器

该服务可与此客户端工具一起正常工作。

但是,当我使用 C# 客户端进行测试时,出现此错误

C# 客户端代码在这里

我究竟做错了什么?这是一个开放的缺陷吗?

0 投票
1 回答
942 浏览

c# - 我可以针对 .net CORE gRPC 服务器使用 .NET Framework gRPC 客户端吗?

有 grpc-dotnet,它在 Visual Studio 中对 .net CORE 有更多支持,然后是 C-Core,它支持旧的 .NET FRAMEWORK 版本。

我有一个 Excel 插件,这就是我坚持使用 .NET FRAMEWORK 的原因。我可以在 grpc-dotnet 中编写服务器组件并从 .NET FRAMEWORK 软件中使用它吗?

0 投票
1 回答
750 浏览

c# - ASPNET CORE GRPC 异步拦截器方法

我正在尝试异步创建一个新AsyncUnaryCall实例,该实例包装原始的被接收的实例。

问题是拦截器基类的设计不佳,它不允许异步方法拦截器。(如此处所述:https ://github.com/grpc/grpc-dotnet/issues/694 )

为了得到这个想法,这是想要实现的目标:

0 投票
1 回答
542 浏览

asp.net-core - 通过 aspnet 核心中的代码触发 HealthCheck

我正在使用微服务(多个服务)并希望拥有可以调用的 HealthCheck 服务并获取所有正在运行的服务的运行状况。我不想为每个服务触发运行状况检查。这个想法是通过 GRPC 获得每个服务的运行状况。

我的一项服务有:

''' services.AddHealthChecks() .AddCheck("Ping", () => HealthCheckResult.Healthy("Ping is OK!"), tags: new[] { "ping_tag" }).AddDbContextCheck(name: "My DB "); '''

在此服务中调用我的 GRPC 端点并获取结果时,如何通过代码运行运行状况检查。

0 投票
0 回答
334 浏览

c# - 如何将命名的 gRPC 客户端与工厂一起使用

查看 gRPC 客户端支持的 DI,我很难弄清楚应该如何实现命名 gRPC 客户端。

Grpc.Net.ClientFactory软件包提供了注册命名gRPC 客户端的功能。然而,我能找到的所有示例都直接将 gRPC 客户端注入到某个类中,而不是使用工厂通过指定名称创建它。

同一个包中有一个GrpcClientFactory类包含这样一个函数,可以根据给定的名称创建 gRPC 客户端,但是,它是抽象的,默认实现是内部的。不像IHttpClientFactory它不能注射。我的问题是是否有必要自己创建一个GrpcClientFactory实现才能使用命名的 gRPC 客户端功能,或者我是否遗漏了一些东西。

0 投票
2 回答
1714 浏览

c# - 如何使用 C# 创建 gRPC 流式拦截器?

我已经弄清楚如何创建一元 RPC 拦截器,但我不知道如何制作流式 RPC 拦截器。这是我迄今为止所拥有的:

每次启动客户端流时,此代码都会截断控制台日志,我只是不知道如何控制台记录每条传入的客户端消息。

亲切的问候杰西

0 投票
1 回答
799 浏览

c# - 尝试在 Docker 容器中构建 C# Protobuf 项目时出现奇怪的“权限被拒绝”

我有一个带有.proto文件的相当简单的 .net Core C# 项目。.csproj看起来像这样:

我在一个 ASP.net Core 3.1 项目中引用了这个,我使用 Paket 来解决依赖关系。

当我从 Visual Studio 编译它或dotnet build一切正常时。

但是,我也想将服务构建为 Docker 容器。Dockerfile 的相关部分如下所示:

当我docker build,我得到这个:

我对此进行了调查,发现它protoc不可执行,因此我在以下行之前添加了这一行dotnet publish

现在,我得到:

我三重检查了/build/Model/Overview/Overview.csproj它实际上是存在的。

我错过了什么?

0 投票
0 回答
455 浏览

asp.net-core-3.1 - 将类型“Microsoft.Extensions.DependencyInjection.IHttpClientBuilder”转换为“Microsoft.Extensions.DependencyInjection.IServiceCollection”

我在 asp.net core 3.1 项目中有以下代码:

IArticleService.cs

文章服务.cs

ProjectServiceCollectionExtensions.cs

启动.cs

公共虚拟 void ConfigureServices(IServiceCollection services) => services.AddHttpClientDependencies()

它抛出一个错误:

错误 CS0266 无法将类型“Microsoft.Extensions.DependencyInjection.IHttpClientBuilder”隐式转换为“Microsoft.Extensions.DependencyInjection.IServiceCollection”。存在显式转换(您是否缺少演员表?)

任何人都可以在这里为我提供一些解决此问题的指导吗?

0 投票
0 回答
1240 浏览

asp.net-core-3.1 - 启动 gRPC 调用时出错。HttpRequestException:对等方重置连接 SocketException:对等方重置连接

我有 asp.net core 3.1 Grpc 服务器和 asp.net core 3.1 Grpc 客户端应用程序。我间歇性地看到以下错误发生:

下面是 Grpc 客户端代码:

我一直在使用 Azure Dev Spaces 在本地环境中进行调试。

任何人都可以通过提供解决此问题的指导来帮助我。