之前,我使用了.NETCore2.x的grpc,现在称为C-CoreGRPC,以区别于新的.NETCore3版本。我喜欢新的grpc能够从VS2019中的proto文件编译和生成客户端/服务器存根类的方式,而不是pf必须从packages文件夹中获取grpc工具,手动为C#编译它以生成客户端/服务端存根类,然后导入VS。新版本的grpc更干净。然而,在将C核grpc与asp。net核心web API,我确实有一些关于新grpc dotnet的问题要问:
>
在C-core grpc中,SSL/TLS证书使用*。pem格式。我使用openSSL生成了公钥/私钥pem,如下所示:“openSSL req-x509-newkey rsa:4096-keyout private.pem-out public.pem-365天-节点-subj/CN=
新的grpc-dptmet现在使用lestrel,似乎暗示它使用与Web应用程序使用的任何端口相同的端口,只是http2流量将路由到它,http1.1将由Web应用程序处理。现在,可以将grpc配置为使用另一个端口而不是Web应用程序正在使用的端口,并且还可以使用不同的SSL/TLS证书(*. pem文件,如上所述)而不是IIS中配置的内容?
如果有人能给我一些启发,我将不胜感激。非常感谢
问题1:的。pem。Grpc使用的主要方式。grpc-dotnet目前不支持Core,但区别仅在于接受的密钥格式。这并不难转换。pem和。关键部分变成单一的。pfx文件(实际上,这里提到了您可以使用的确切命令:https://github . com/grpc/grpc-dot net/tree/master/testassets/Certs/InteropTests)
问题2:使用grpc dotnet,您可以为grpc和http流量共享同一端口,也可以公开两个不同的端口-每个协议一个端口。实现这一点的确切设置我不是100%确定,但它应该相对容易实现。
到目前为止,我已经尝试了三天,想知道如何在windows上安装和使用gRPC,但运气不好。我使用的是Visual Studio 2015,Win7 64位。为了安全起见,我会一步一步地写下我正在做的事情。这可能没有必要,但我是C和VS的初学者,所以我根本不确定我做得是否正确: (以下指南http://www.infopulse.com/blog/grpc-framework-by-google-t
ProtoBuf 与 gRPC ProtoBuf 是一套接口描述语言(IDL)和相关工具集(主要是 protoc,基于 C++ 实现),类似 Apache 的 Thrift)。用户写好 .proto 描述文件,之后使用 protoc 可以很容易编译成众多计算机语言(C++、Java、Python、C#、Golang 等)的接口代码。这些代码可以支持 gRPC,也可以不支持。 gRPC 是 Goog
本教程介绍如何使用 C++ 的 gRPC 异步/非阻塞 API 去实现简单的服务器和客户端。假设你已经熟悉实现同步 gRPC 代码,如gRPC 基础: C++所描述的。本教程中的例子基本来自我们在overview中使用的Greeter 例子。你可以在 grpc/examples/cpp/helloworld找到安装指南。 概览 gRPC 的异步操作使用CompletionQueue。 基本工作流如
本教程提供了 C# 程序员如何使用 gRPC 的指南。 通过学习教程中例子,你可以学会如何: 在一个 .proto 文件内定义服务。 用 protocol buffer 编译器生成服务器和客户端代码。 使用 gRPC 的 C# API 为你的服务实现一个简单的客户端和服务器。 假设你已经阅读了概览并且熟悉protocol buffers。 注意,教程中的例子使用的是 protocol buffer
本教程提供了C++程序员如何使用gRPC的指南。 通过学习教程中例子,你可以学会如何: 在一个 .proto 文件内定义服务. 用 protocol buffer 编译器生成服务器和客户端代码. 使用 gRPC 的 C++ API 为你的服务实现一个简单的客户端和服务器. 假设你已经阅读了概览并且熟悉protocol buffers. 注意,教程中的例子使用的是 protocol buffers
我需要将gRPC用于双向流,其中客户端是.Net Framework项目,由于遗留问题,无法升级到.NET5。 当阅读microsoft留档,我可以看到应该使用WinHttpHandler(https://docs.microsoft.com/en-us/aspnet/core/grpc/netstandard?view=aspnetcore-5.0)。 但是我似乎在使用SSL进行此设置时遇到了问