推荐使用gRPC for .NET - 高性能的RPC框架
gRPC是一个现代化的、开放源代码的、高性能的远程过程调用(RPC)框架,可在各种平台上运行。它使得客户端和服务器应用程序之间的通信变得透明,并简化了构建连接系统的复杂性。
项目介绍
gRPC for .NET是针对.NET Core 3.0或更高版本的功能组件,包括:
- Grpc.AspNetCore - 基于ASP.NET Core的框架,用于托管gRPC服务。该框架与ASP.NET Core的标准特性如日志记录、依赖注入(DI)、身份验证和授权无缝集成。
- Grpc.Net.Client - 一个为.NET Core构建的gRPC客户端,基于熟悉的
HttpClient
。这个客户端利用了.NET Core的新HTTP/2功能。 - Grpc.Net.ClientFactory - 与
HttpClientFactory
集成的gRPC客户端,允许在你的应用中集中配置并注入gRPC客户端。
更多信息可参考关于gRPC on .NET的简介。
gRPC for .NET已成为首选实现!
从2021年5月起,gRPC for .NET被推荐为C#的gRPC实现。原来的gRPC for C#(作为Grpc.Core
nuget包分发)现在处于维护模式,并将在未来被弃用。更多详情,可以查看gRPC博客公告。
开始使用gRPC for .NET
启动使用gRPC for .NET的最佳方式是从.NET Core 3.0或更高版本中提供的gRPC模板开始。通过该模板,你可以创建一个gRPC服务网站和客户端。更多示例可以在此处找到。
gRPC NuGet仓库
官方版本的gRPC已发布到NuGet.org,这是大多数开发者获取gRPC包的推荐位置。夜间构建版的gRPC for ASP.NET Core则发布到gRPC的NuGet存储库。如果你正在使用.NET Core的夜间版本,建议你也使用gRPC的夜间版本,以避免兼容性问题。
要使用gRPC NuGet仓库并获取最新包,请在解决方案文件夹中放置一个带有gRPC仓库设置的NuGet.config
文件。
开发gRPC for ASP.NET Core
在安装.NET Core SDK后,可以通过以下命令行脚本来建立开发环境,并启动Visual Studio进行项目构建和测试。
贡献
欢迎贡献!参与gRPC项目的通用贡献指南也适用于此存储库。
项目特点
- 高效性能 - gRPC基于HTTP/2协议,支持多路复用,减少网络延迟,提高通信效率。
- 跨平台 - 支持多种操作系统和编程语言,易于构建分布式系统。
- 类型安全 - 使用protobuf定义服务接口和消息类型,确保数据一致性。
- 强大的错误处理 - 内置异常处理机制,便于调试和故障排查。
- 易于集成 - 可与ASP.NET Core特性完美融合,支持DI、认证等常见场景。
总的来说,gRPC for .NET结合了gRPC的强大功能和.NET生态的便利性,对于构建高性能、高可靠性的微服务架构提供了理想的选择。立即尝试,体验更现代的API设计吧!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考