我希望BuildFeed每秒都运行一次 这段代码只运行一次。
public class FeedDal{
public FeedDal()
{
new Task(() => BuildFeed(), new CancellationToken(false), TaskCreationOptions.LongRunning).Start();
}
private void BuildFeed()
{
//going here only once
}
}
由于
答案 0 :(得分:1)
上面代码只运行一次的原因是,你只需要调用一次。
为了在每x
秒内永久调用某种方法,您可以使用Timer
。
请尝试以下代码。
public static void FeedDal()
{
var inerval = 1000;
var timer = new System.Timers.Timer();
timer.Elapsed += (o,e) => new Task(()
=> BuildFeed(), new CancellationToken(false), TaskCreationOptions.LongRunning).Start();
timer.Interval = inerval;
timer.Start();
}
答案 1 :(得分:0)
因为您只调用一次该函数。如果你想多次打电话,你必须做这样的事情:
public class FeedDal
{
public FeedDal()
{
while (true)
{
new Task(() => BuildFeed()).Start();
Thread.Sleep(1000);
}
}
private void BuildFeed()
{
// Will go here once a second.
}
}
希望这有帮助,
杰森。