我有一个缓存的.net应用程序变量。我想要做的就是让缓存按小时,1:1.30,2,2.30等每半小时回收一次变量。我有onRemoveCallback函数集,一切正常,我真正的问题是生成的最佳方法是什么正确的absoluteExpiration值?
DateTime time_to_expire = DateTime.Now;
if (time_to_expire.Minute < 29)
{
time_to_expire = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, 30, 0);
}
else
{
time_to_expire = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour + 1, 0, 0);
}
我将time_to_expire值测试为29的原因是我担心边界情况,我不希望变量在半小时内“变空”!关于如何做得更好的想法?
由于
答案 0 :(得分:0)
不知道它有什么“更好”,但我倾向于做这样的事情:
DateTime time_to_expire = DateTime.Now.AddMinutes(30);
time_to_expire = new DateTime(time_to_expire.Year, time_to_expire.Month, time_to_expire.Day, time_to_expire.Hour, time_to_expire.Minute >= 30 ? 30 : 0, 0);