如果使用了缓存,比如方法 A 吧,那么你需要注意 DateTime.Now 对缓存的影响,简单来说,DateTime.Now 可能出现在两个地方:
- 在调用方,将 DateTime.Now 作为参数传递给了 A,如:A(DateTime.Now),如果 A 是采用 DateTime.Now 来构造缓存使用的 Key,那么此缓存几乎没有什么作用。
- 在要缓存的代码内部,这种情况下 DateTime.Now 可能就失去了意义,如:调用方可能期望的是使用实时的 DateTime.Now 进行倒计时。
解决思路非常简单,此处就不赘述了。