WCF+ 定时器。不好的做法?

WCF+ timer. A bad practice?

我希望我的服务能够启动与其他服务的通信。

为了让它像客户端一样运行并开始通信,我认为在构造函数中初始化每 x 秒调用一个方法的计时器可能是个好主意。

这是个坏主意吗?

我看不出这种方法有什么问题。

您可以利用 System.Timers.Timer - https://msdn.microsoft.com/en-us/library/system.timers.timer%28v=vs.110%29.aspx

将其 Interval 设置为您想要触发 Elapsed 计时器事件的值。使用您实现的事件处理程序订阅 Elapsed 事件,您将在其中与外部服务通信。

编辑:简单示例

 class Program
    {
        private static void timer_ElapsedEventHandler(object sender, EventArgs e)
        {
            // communicate to external service
            Console.WriteLine("ElapsedEventHandler fired");
        }

        static void Main(string[] args)
        {
            var timer = new System.Timers.Timer();
            timer.Interval = 3000;
            timer.Elapsed += timer_ElapsedEventHandler;
            timer.Start();
            Console.WriteLine("Timer started");

            Console.ReadLine();
        }
    }