如何在 gRPC .Net 中拥有可为空的 DateTime 属性?

问题描述 投票:0回答:1

我正在使用 gRPC 编写一个方法并将其提供给另一个微服务,但我不知道如何在 protobuf 中生成可为空的 DateTime 属性并用我从 AppService 获取的数据填充它! 我需要的最终属性如下:

public class MyClass{
   public DateTime? MyDateTime {get;set;}
}

protobuf 中也没有 DateTime 变量类型。

我希望在我的原型文件中设置一个可为空的 DateTime 属性,然后用我从 gRPCService 中的另一个服务获取的 DataTime 填充它。

c# asp.net-core protocol-buffers grpc
1个回答
0
投票

我自己通过使用找到了答案:

import "google/protobuf/timestamp.proto";

在 proto 文件和当前文件中,消息属性应该是:

message MyTestDto{
    google.protobuf.Timestamp MyTimestamp = 1;
}

在 GrpcService 中完成所有这些步骤后,我使用此 C# 代码将时间戳转换为日期时间。

Timestamp.FromDateTimeOffset(x.CvCardFa.MyTimestamp.Value.ToLocalTime())

就是这样。

© www.soinside.com 2019 - 2024. All rights reserved.