我正在关注文档和其他SO帖子,但我收到了错误:
RecordKeeper
没有重载符合委托ElapsedEventHandler
以下代码。
...
System.Timers.Timer aTimer = new System.Timers.Timer();
aTimer.Elapsed += Server.RecordKeeper;
aTimer.Interval = 5000;
aTimer.Enabled = true;
...
public void RecordKeeper(object sender, ElapsedEventHandler e)
{
for (int x = 0; x < record_list.Count; x++)
{
record_list[x].TTL = record_list[x].TTL.Add(TimeSpan.FromSeconds(1));
Console.WriteLine(record_list[x].TTL.ToString());
if (record_list[x].TTL > TimeSpan.FromSeconds(70))
{
RemoveRecord(x);
}
}
}
我似乎完全按照This post中的其他示例执行此操作。
提前感谢您的帮助。
答案 0 :(得分:1)
尝试:
public void RecordKeeper(object sender, ElapsedEventArgs e)
{
for (int x = 0; x < record_list.Count; x++)
{
record_list[x].TTL = record_list[x].TTL.Add(TimeSpan.FromSeconds(1));
Console.WriteLine(record_list[x].TTL.ToString());
if (record_list[x].TTL > TimeSpan.FromSeconds(70))
{
RemoveRecord(x);
}
}
}
您的RecordKeeper函数签名不正确。