相关疑难解决方法(0)

Cache.Add绝对到期 - 是否基于UTC?

对于实施例Cache.Add使用DateTime.Now.Add来计算到期,即,其通过:

 DateTime.Now.AddSeconds(60)
Run Code Online (Sandbox Code Playgroud)

作为absoluteExpiration参数的值.

我认为相对计算它DateTime.UtcNow会更正确[因为如果夏令时在现在和到期点之间的间隔开始时没有歧义].

在介绍之前DateTimeKind,我已经猜到缓存管理中有一些丑陋的黑客攻击,如果时间不是UTC时间,它可以做一些合适的事情.

在.NET 2.0及更高版本中,我猜测它应该正确处理DateTime计算,DateTime.UtcNow.AddSeconds(60)因为它必须DateTime.Kind在推理中用作输入.

多年来我一直在自信地使用它DateTime.UtcNow作为基础,但是没有能够提出这样的理由:如果没有任何指出文档在4年多的时间里一直存在误导性,这绝对是正确的做法.

问题?

  1. 尽管有很多bingage和谷歌搜索我没能从MS找到任何权威的讨论 - 任何人都可以找到关于这个的东西吗?
  2. 是否有任何理由使用UtcNow更加正确和/或安全?

(是的,我可以仔细阅读源和/或反射器的来源,但我正在寻找一个完整的逐个打击的低点!)

.net asp.net datetime utc system.web.caching

35
推荐指数
2
解决办法
8431
查看次数

更改ASP.NET缓存项目到期的频率?

我注意到ASP.NET缓存项每20秒检查一次(并且可能被删除)(每次HH时奇怪的是:MM:00,HH:MM:20和HH:MM:40).我花了大约15分钟来查看如何更改此参数而没有任何成功.我还尝试在web.config中设置以下内容,但它没有帮助:

<cache privateBytesPollTime="00:00:05" />
Run Code Online (Sandbox Code Playgroud)

我不是想做任何疯狂的事情,但是如果它是5秒而不是20,或者至少10我的应用程序会很好.

asp.net caching

12
推荐指数
1
解决办法
3461
查看次数

有没有办法在.Net Web应用程序中每天运行一个进程而无需编写Windows服务或SQL服务器作业

我们要求在ASP.Net应用程序中,应该每天在指定时间自动调用.Net进程.此过程需要与数据库(SQL Server 2005)交互并每天生成计费.我们正在使用共享主机,因此我们无法创建Windows服务或创建SQL Server作业.如果没有用户干预,如何实现这一目标?

asp.net windows-services

12
推荐指数
1
解决办法
4387
查看次数