下城区做网站,怎么做电影网站不违法,wordpress 腾讯,个人网站备案核验单填写作者#xff1a; 相信微服务大家伙都有听说和知道#xff0c;好处弊端咱也不多说了#xff0c;Grpc算是一个比较全面的微服务框架#xff0c;也得到微软的支持总结下来就是#xff0c;跨平台#xff0c;可靠#xff0c;通信快#xff0c;扩展性强#xff0c;网络消耗小… 作者 相信微服务大家伙都有听说和知道好处弊端咱也不多说了Grpc算是一个比较全面的微服务框架也得到微软的支持 总结下来就是跨平台可靠通信快扩展性强网络消耗小模板多语言通用 光说好处没有弊端吗自然是有的 最大的问题可能就是无法直接通过浏览器调用Grpc服务最主要是Grpc使用了Http/2传输而浏览器不允许调用方需要使用 HTTP/2或提供对基础 HTTP/2 框架的访问但是官方也提供了曲线救国的方式gRPC Web是 gRPC 团队提供有限的 gRPC 支持在浏览器中的其他技术(引用官方文档)。 话不多说咱们直接先上两个官方链接 https://grpc.io/docs/ https://docs.microsoft.com/zh-cn/aspnet/core/grpc/?viewaspnetcore-3.0 和HttpApi有啥区别如下图 看的出来微软对Grpc得支持还挺上心得居然把Grpc放到3.0中直接提供官方支持还可以直接生成应模板看来微软真的在开源的道路上大步前行啊。咱就不说一些理论性的东西了上边链接里得文章介绍得比我官方详细。现在.NetCore 3.0还处于预览版正式版出来相信会有更好的支持和体验 Grpc在3.0中 也是遵循微软一贯的风格对开发者友好极度舒适得开发体验。重大变化的变化3.0支持编写好的.proto文件直接. 方法名就可以使用无需把proto文件生成为.cs 文件再引用到项目中微软默默帮我们做好了咱只要定义好protoi接口和参数关心代码业务就行了?? 老的Grpc使用方式及介绍点这里之前有介绍 咱们实际运用起来效果如何开发用起来爽不爽咱也不废话直接开整 开发工具Visual Studio 2019 框架.net core 3.0 (目前最新版 v3.0.100-preview8) 3.0目前处于预览版官方没有集成到vs里,咱们要手动下载 点这里 下载好了之后要在VS里手动开启支持3.0 .net core SDK(目前3.0只能在VS2019上运行正式版出来可能会支持其他版本VS)一、创建项目 两种方式都可以 1、通过命令一键生成基于Grpc模板的项目 2、通过传统方式创建 创建好的项目长这样我们一定会注意到 Startup 类中 ConfigureServices 方法的语句 services.AddGrpc() 。这个是惯例不用去管重点看 Configure 方法里的代码片段app.UseRouting();app.UseEndpoints(endpoints { endpoints.MapGrpcServiceGreeterService();}); 此处和WCF 的思想类似将服务添加到路由终结点让客户端连接。 接下来看看proto文件 咱们稍微改造一下syntax proto3;option csharp_namespace GrpcGreeter;package Greet;service Greeter {// 方法体 rpc SayHello (HelloRequest) returns (HelloReply);//这是咱新增的方法 rpc HelloWorld (HelloRequest) returns (HelloReply);}// 请求参数message HelloRequest {string name 1;}// 响应实体message HelloReply {string message 1; //数据类型和C#大差不差 int32 code2;} 咱们再创建一个控制台程序用做客户端好了实际项目中就是各个模块的其他项目用来调用Grpc微服务。 创建好了后安装Nuget包Install-Package Grpc.Net.Client -Version 0.1.22-pre3Install-Package Google.ProtobufInstall-Package Grpc.Tools 把proto文件复制到客户端项目中 这里有一点要住把解决方案文件打开把里面有配置ItemGroup !-- GrpcServicesClient 添加该属性构建相关客户端类文件(元数据) -- !-- GrpcServicesServer 添加该属性构建相关服务端端类文件(元数据) -- Protobuf IncludeProtos\greet.proto GrpcServicesClient / /ItemGroup 可以看到如下图重点介绍一下新特性可以像正常些C#代码一样直接点出Grpc里定义的方法一顿操作猛如虎代码相对简单直接截图最后直接上结果咱们一看就懂客户端执行结果服务端输出在3.0版本之前要使用Grpc微服务proto文件需要先生成好CS类文件生成CS类文件还是比较费事儿的.然后把生成好的CS类文件引用到项目中才可以。其实在开发中我们并不需要关心这些只是由于.net 跨平台来的稍稍晚一点慢慢的这些脚手架类的东西会越来越完善可以看出微软也预见了这些事在.net core 3.0提供了类似自动化的支持。原文链接https://www.cnblogs.com/DanielYao/p/11394243.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com