Tag: timer

.NET,事件每分钟(分钟)。 计时器是最好的select吗?

我想用c#在Windows窗体应用程序中每分钟(按时钟)做东西。 我只是想知道什么是最好的方式去呢? 我可以使用一个定时器,并将其间隔设置为60000,但为了让它在一分钟内运行,我将不得不在一分钟内启用它,而不是真正可行的。 我可以使用一个计时器,并将其间隔设置为1000.然后在其tick事件中,我可以检查时钟当前分钟对我设置的variables,如果分钟已经改变,然后运行我的代码。 这让我很担心,因为我正在每隔1秒钟让计算机做一次检查,以便每1分钟执行一次工作。 当然这很难看? 我正在使用Windows窗体和.Net 2.0,所以不想使用.Net 3.5自带的DispatchTimer 这一定是一个相当普遍的问题。 有没有更好的方法来做到这一点?

如何访问Thread或Timer中的HttpServerUtility.MapPath方法?

我在我的Asp.Net应用程序中使用System.Timers.Timer ,我需要使用HttpServerUtility.MapPath方法,似乎只能通过HttpContext.Current.Server.MapPath 。 问题是当Timer.Elapsed事件触发时HttpContext.Current为null 。 有没有另一种方式来获取对HttpServerUtility对象的引用? 我可以在我的类的构造函数中注入它。 安全吗? 我如何确定在当前请求结束时不会收集垃圾? 谢谢!