订阅后,为不同用户在不同时间执行任务

时间:2017-07-22 05:29:54

标签: c# multithreading wcf azure

所以这是问题陈述。我有一项为移动设备提供服务的服务。事件触发器上的每个用户都向服务发送消息以进行自我注册。之后,服务从注册时起定期(例如5分钟)执行一组特定任务。因此,根据注册时间,每个用户的执行时间会有所不同。

我使用线程和计时器实现了这一点,它在一定程度上起作用,但随着用户的增加,线程被终止并且任务没有完成。此服务也托管在azure上。我已经使用WebHtpp绑定创建了一个WCF服务,该绑定接受并返回JSON数据。

网络工作是给我的建议。但由于执行时间不同,我也无法使用它。是否有可能使用C#和asp.net执行这样的任务,或者我完全是错误的方向。

1 个答案:

答案 0 :(得分:0)

您需要确定在完成之前阻止线程的瓶颈所在。

我将使用另一种方法解决此问题:每个新用户,将消息放入队列,并创建一个Azure函数以使消息出列并执行服务逻辑。这样您的应用程序将更好地扩展,并且您将使用无服务器方法节省资金。