会员功能深入解析:从基础到自定义实现
1. 会员功能的时间处理
在使用会员功能时,大部分操作对你来说是透明的。你可以使用本地时间来检索 MembershipUser 对象实例、设置与日期相关的属性或执行与日期相关的查询。不过,当你使用支持日期范围搜索参数的其他功能(如Profile)进行搜索查询时,可能会出现混淆。如果查询跨越了时钟重置的时间段,你得到的结果可能与会员功能以机器本地时间存储数据时有所不同。
在会员功能中,对协调世界时(UTC)时间的处理方式如下:
- 各类总是会对传入的任何日期时间参数调用 ToUniversalTime 方法。
- MembershipUser 类在其构造函数以及任何公共属性的设置器中,都会对所有日期时间参数调用 ToUniversalTime 方法。这意味着你可以为 LastActivityDate 等属性设置机器本地日期时间,而 MembershipUser 仍会确保在内部将其视为UTC时间。
- 对于公共获取器, MembershipUser 类在返回日期时间数据之前会调用 ToLocalTime 方法。因此,从会员功能中检索的所有数据将始终反映机器本地时间。
对于存储会员数据的Web服务器和后端服务器,你应该定期将服务器时钟与公共时间源进行同步。虽然这一建议并非专门针对使用UTC时间的固有问题提出,但支持UTC时间的实现细节凸显了时钟同步的必要性。
超级会员免费看
订阅专栏 解锁全文
1920

被折叠的 条评论
为什么被折叠?



