请人做彩票网站多少钱网店美工名词解释
请人做彩票网站多少钱,网店美工名词解释,菜单宣传网站怎么做,学校资源网站 建设现在系统都服务化#xff0c;.net core 实现服务化的方式有很多#xff0c;我们通过grpc实现客户端、服务端通信。grpc(https://grpc.io/)是google发布的一个开源、高性能、通用RPC#xff08;Remote Procedure Call#xff09;框架#xff0c;使用HTTP/2协议#xff0c;… 现在系统都服务化.net core 实现服务化的方式有很多我们通过grpc实现客户端、服务端通信。grpc(https://grpc.io/)是google发布的一个开源、高性能、通用RPCRemote Procedure Call框架使用HTTP/2协议支持多路复用并用ProtoBuf作为序列化工具提供跨语言、跨平台支持。下面以.net core演示如何使用grpc框架实现通信。 软件版本.net core:2.0grpc:1.11.0 项目结构InstallGrpc .net framework类库 只为得到生成协议代码工具protoc.exe、grpc_csharp_plugin.exe没有其他作用如果已有工具可以不用Snai.GrpcClient 客户端 .net core 2.0控制台程序Snai.GrpcService.Hosting 服务端宿主 .net core 2.0控制台程序Snai.GrpcService.Impl 协议方法实现 .net standard 2.0类库Snai.GrpcService.Protocol 生成协议方法 .net standard 2.0类库运行结果服务端客户端客户端调用服务端求和方法成功。 项目实现一、服务端新建Snai.GrpcService解决方案1、编写协议 新建 Snai.GrpcService.Protocol协议类库项目在 依赖项 右击 管理NuGet程序包 浏览 找到 Grpc.Core 版本1.11.0Google.Protobuf 版本3.5.1 包下载安装 在项目根目录下新建一个 msg.proto 文件打开 msg.proto 文件在其中编写基于proto3语言的协议代码用于自动生成到各语言协议如果需要更深入的学习proto3语言可以打开该网站Proto3语言指南。msg.proto 代码如下 定义当前使用的是proto3语言并且包名生成为C#则为命名空间syntax proto3;package Snai.GrpcService.Protocol;定义了1个服务且有1个方法service MsgService{ rpc GetSum(GetMsgNumRequest) returns (GetMsgSumReply){}} 方法的接收参数和返回参数message GetMsgNumRequest { int32 Num1 1; int32 Num2 2;}message GetMsgSumReply { int32 Sum 1;} 2、将协议生成C#代码生成协议代码需 protoc.exe、grpc_csharp_plugin.exe工具在.net framework 项目下引用安装 Grpc.Tools 组件程序包会得到protoc.exe、grpc_csharp_plugin.exe但.net core 项目引用安装是不会下载工具到项目目录的所以我们需要建一个.net framework项目我建了个 InstallGrpc .net framework类库 用于引用安装得到工具。这里得到工具有个小插曲引用Grpc.Tools版本1.11.0得到protoc.exe、grpc_csharp_plugin.exe 拷到 Snai.GrpcService.Protocol 目录下生成不了我再引用Google.Protobuf.Tools版本3.5.1里面有 protoc.exe用 Grpc.Tools下的 grpc_csharp_plugin.exe, Google.Protobuf.Tools下protoc.exe 根据当前系统选择拷贝到 Snai.GrpcService.Protocol 目录下。先用Grpc.Tools 下的如果生成不了再用 Grpc.Tools下的 grpc_csharp_plugin.exe, Google.Protobuf.Tools下protoc.exe然后在项目中新建一个名为ProtocGenerate.cmd的文件在其中输入以下指令protoc -I . --csharp_out . --grpc_out . --pluginprotoc-gen-grpcgrpc_csharp_plugin.exe msg.proto然后直接双击运行项目下生成了“Msg.cs”和“MsgGrpc.cs”两个文件这样协议部分的所有工作就完成了最终项目结构如下 3、编写协议实现代码 新建Snai.GrpcService.Impl实现类库项目在 依赖项 下载安装Grpc.Core 包项目引用Snai.GrpcService.Protocol 在项目根目录下新建 MsgServiceImpl.cs 类文件继承 MsgService.MsgServiceBase 协议类实现服务方法代码如下 在项目根目录下新建 RpcConfig.cs 类文件编写绑定服务到服务端服务端 地址 端口 等信息实现启动方法代码如下最终项目结构如下4、编写服务端启动程序 新建Snai.GrpcService.Hosting 控制台程序项目引用Snai.GrpcService.Impl 打开 Program.cs 文件修改 Main 方法加入服务启动代码如下最终项目结构如下到此服务端所有代码已编写完成下面开始编写客户端。二、客户端 新建Snai.GrpcClient 控制台程序在 依赖项 下载安装Grpc.Core 包项目引用Snai.GrpcService.Protocol 在项目根目录下新建 MsgServiceClient.cs 类文件编写与服务端通信的 地址 端口 等信息并调用服务端方法代码如下 打开 Program.cs 文件修改 Main 方法得到服务端返回结果显示结果代码如下 最终项目结构如下 到此所有代码都已编写完成三、启动右击生成解决方案生成完成后先启动服务端再启动客户端命令行到服务端目录 Snai.GrpcService.Hosting\bin\Debug\netcoreapp2.0\用命令 dotnet Snai.GrpcService.Hosting.dll 启动服务端命令行到客户端目录 Snai.GrpcClient\bin\Debug\netcoreapp2.0\用命令 dotnet Snai.GrpcClient.dll 启动客户端 客户端调用服务端方法成功实现grpc它们之间是通过Grpc.Core中的 Server 和 Channel 来通信源码访问地址https://github.com/Liu-Alan/Snai.GrpcService相关文章入门干货之Grpc的.Net 封装-MagicOnion基于 Consul 实现 MagicOnion(GRpc) 服务注册与发现Abp Grpc 如何实现用户会话状态传递gRPC官方快速上手学习笔记c#版原文地址: https://www.cnblogs.com/alan-lin/p/9000642.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91732.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!