【发布时间】:2016-05-29 11:56:06
【问题描述】:
我有这个代码:
class ServiceConsumer
{
static void Main(string[] args)
{
//call from here retriveEvents method evry 5 minutes!
}
private static void retriveEvents()
{
IContract proxy = ChannelFactory<IContract>.CreateChannel(new BasicHttpBinding(),
new EndpointAddress("http://someAddress/Hydrant.svc"));
using (proxy as IDisposable)
{
var rows = proxy.GetData(new DateTime(2000, 5, 1));
}
}
}
retriveEvents() 方法正在创建代理并从主机服务中检索数据。 如何每 5 分钟调用一次异步 retriveEvents() 方法来访问主机服务?
【问题讨论】:
-
使用计时器(滴答)?
-
这个答案应该适合你:stackoverflow.com/a/21590665/2290059。不要忘记通过调用
Console.ReadLine();从主线程等待。 -
@YacoubMassad,我可以使用 while 循环代替 Console.ReadLine(); ?
-
这不是一个好主意,因为它会让一个 CPU 内核忙于无所事事。