参照:ASP .NET Core 6.0使用Grpc配置服务和调用服务_asp.net core grpc 服务-CSDN博客
demo:https://files.cnblogs.com/files/summerZoo/GrpcForWebApi.zip?t=1711003526&download=true
补充说明:
1、在添加完proto后要在项目文件里指定,并且GrpcServices指定为“Client”
1 | <ItemGroup> <Protobuf Include= "Protos\weatherforecast.proto" GrpcServices= "Client" /> </ItemGroup> |
2、并且对添加服务引用,类似wcf的方式:
在这里选择grpc,选择刚刚复制的proto文件
3、注意Google Protobuf的Timestamp类型与DateTime类型的转换
1 2 3 4 5 6 7 | // 假设 yourDateTime 是你正在尝试转换的 DateTime 对象 if (yourDateTime.Kind != DateTimeKind.Utc) { yourDateTime = yourDateTime.ToUniversalTime(); } Timestamp timestamp = Timestamp.FromDateTime(yourDateTime); |
timestamp转换成DateTime
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | using Google.Protobuf; // 创建一个 Timestamp 对象 var timestamp = new Timestamp { Seconds = 1685052645, Nanos = 123456789 }; // 获取当前时间并转换为 Timestamp var now = Timestamp.FromDateTimeOffset(DateTimeOffset.UtcNow); // 将 Timestamp 转换回 DateTime var dateTime = timestamp.ToDateTime(); |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2022-03-21 C# 基础——CLR、托管代码及非托管代码
2022-03-21 C# 线程基础——用户模式、内核模式