网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 软件工程 > 后端开发 > .Net >

DOTNET MessagePack序列化/反序列化时不保留 DateTime

时间:2024-11-22 16:17

人气:

作者:admin

标签:

导读:最近又遇到个奇怪的问题,查询出来的时间比数据库中字段存的时间多8小时。 发现是用了efcore的二级缓存,本来用json序列化的,后来为了性能改成MessagePack,最后定位就是MessagePack序列...

最近又遇到个奇怪的问题,查询出来的时间比数据库中字段存的时间多8小时。
发现是用了efcore的二级缓存,本来用json序列化的,后来为了性能改成MessagePack,最后定位就是MessagePack序列化/反序列化时不保留 DateTime.Kind,导致从redis里拿到的数据中时间值+8小时了,试着写IMessagePackFormatter或者IFormatterResolver等都无法解决,只能先放弃二级缓存,或者后面还是改成Json了。
当然似乎服务器代码中全部用utc才是最佳做法,但是太多数据没法修改。
还看到微软的signalr文档也提醒了这个问题,但没有解决方案。
https://learn.microsoft.com/zh-cn/aspnet/core/signalr/messagepackhubprotocol?view=aspnetcore-8.0#datetimekind-is-not-preserved-when-serializingdeserializing

作者:Rick Carter
出处:http://pains.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信