我希望在一段时间内执行一段代码,并希望在证书时间段后退出。
下面有一段代码进入无限循环。
protected void Page_Load(object sender, EventArgs e)
{
System.Timers.Timer aTimer;
aTimer = new System.Timers.Timer();
aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
aTimer.Interval = 2000;
aTimer.Enabled = true;
}
private static void OnTimedEvent(object source, ElapsedEventArgs e)
{
try
{
Console.WriteLine("Page loaded", null);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message, "Default");
}
}
我想运行此代码1分钟。 那么如何在50或60秒后停止执行并退出循环。
Plz帮助我。
答案 0 :(得分:0)
试试这个:
Stopwatch stopwatch = new Stopwatch();
// Begin timing
stopwatch.Start();
// Do something
for (int i = 0; i < 1000; i++)
{
Thread.Sleep(60);
}
// Stop timing
stopwatch.Stop();
答案 1 :(得分:0)
您是否可以在现有m_SetEnabled = true
中设置布尔值OnElapsedTime event
,然后添加if(m_SetEnabled) { m_SetEnabled = false; return; }
以忽略被触发的单个事件。
使用Timer
类。
http://msdn.microsoft.com/en-us/library/system.timers.timer(v=vs.71).aspx
public static void Main()
{
System.Timers.Timer aTimer = new System.Timers.Timer();
aTimer.Elapsed+=new ElapsedEventHandler(OnTimedEvent);
aTimer.Interval=5000;
aTimer.Enabled=true;
Console.WriteLine("Press \'q\' to quit the sample.");
while(Console.Read()!='q');
}
// Specify what you want to happen when the Elapsed event is raised.
private static void OnTimedEvent(object source, ElapsedEventArgs e)
{
Console.WriteLine("Hello World!");
}
Elapsed
事件将每隔X秒启动一次,由Timer对象上的Interval
属性指定。它将调用您指定的Event Handler
方法,在上面的示例中为OnTimedEvent