问题标签 [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.
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 解析失败”)
码头文件:
服务主体:
测试服务有一种将接收到的文本打印到控制台的方法。
protocol-buffers - 将基于 Java 的 Grpc 服务器与基于 C# 的客户端一起使用时出现传输失败错误
我正在使用 spring boot (2.2.2) 和 grpc-server-spring-boot-starter java 库开发基于 java 的 Grpc 服务器。我的客户端应用程序是 C# 应用程序 (netcoreapp3.1)。这两个应用程序都在我的笔记本电脑上运行以进行此测试。
这是我的原型文件
这是服务代码
我首先使用这个工具工具测试了服务器
该服务可与此客户端工具一起正常工作。
但是,当我使用 C# 客户端进行测试时,出现此错误
C# 客户端代码在这里
我究竟做错了什么?这是一个开放的缺陷吗?
c# - 我可以针对 .net CORE gRPC 服务器使用 .NET Framework gRPC 客户端吗?
有 grpc-dotnet,它在 Visual Studio 中对 .net CORE 有更多支持,然后是 C-Core,它支持旧的 .NET FRAMEWORK 版本。
我有一个 Excel 插件,这就是我坚持使用 .NET FRAMEWORK 的原因。我可以在 grpc-dotnet 中编写服务器组件并从 .NET FRAMEWORK 软件中使用它吗?
c# - ASPNET CORE GRPC 异步拦截器方法
我正在尝试异步创建一个新AsyncUnaryCall
实例,该实例包装原始的被接收的实例。
问题是拦截器基类的设计不佳,它不允许异步方法拦截器。(如此处所述:https ://github.com/grpc/grpc-dotnet/issues/694 )
为了得到这个想法,这是想要实现的目标:
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 端点并获取结果时,如何通过代码运行运行状况检查。
c# - 如何将命名的 gRPC 客户端与工厂一起使用
查看 gRPC 客户端支持的 DI,我很难弄清楚应该如何实现命名 gRPC 客户端。
该Grpc.Net.ClientFactory
软件包提供了注册命名gRPC 客户端的功能。然而,我能找到的所有示例都直接将 gRPC 客户端注入到某个类中,而不是使用工厂通过指定名称创建它。
同一个包中有一个GrpcClientFactory
类包含这样一个函数,可以根据给定的名称创建 gRPC 客户端,但是,它是抽象的,默认实现是内部的。不像IHttpClientFactory
它不能注射。我的问题是是否有必要自己创建一个GrpcClientFactory
实现才能使用命名的 gRPC 客户端功能,或者我是否遗漏了一些东西。
c# - 如何使用 C# 创建 gRPC 流式拦截器?
我已经弄清楚如何创建一元 RPC 拦截器,但我不知道如何制作流式 RPC 拦截器。这是我迄今为止所拥有的:
每次启动客户端流时,此代码都会截断控制台日志,我只是不知道如何控制台记录每条传入的客户端消息。
亲切的问候杰西
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
它实际上是存在的。
我错过了什么?
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”。存在显式转换(您是否缺少演员表?)
任何人都可以在这里为我提供一些解决此问题的指导吗?
asp.net-core-3.1 - 启动 gRPC 调用时出错。HttpRequestException:对等方重置连接 SocketException:对等方重置连接
我有 asp.net core 3.1 Grpc 服务器和 asp.net core 3.1 Grpc 客户端应用程序。我间歇性地看到以下错误发生:
下面是 Grpc 客户端代码:
我一直在使用 Azure Dev Spaces 在本地环境中进行调试。
任何人都可以通过提供解决此问题的指导来帮助我。