Azure托管带Windows 8推送通知持久性的工作流活动
我完全不熟悉Windows Azure和Windows Workflow的范围。
但基本上,我试图实现的是将负责向我的Winodws 8应用程序推送磁贴更新/徽章/敬酒通知的云网络应用程序。
运行发送平铺通知等的代码很好,但需要每隔一小时左右执行一次。
我决定最简单的方法是创建一个具有WebAPI的MVC应用程序,该WebAPI将负责接收来自ModernApplication的ChannelURI,并将其发送给它,并存储在SQL Azure上。
然后会有一个类有一个静态方法,它执行收集新数据和生成新的Tile / Badge / Toast的逻辑。
我创建了一个简单的活动工作流程,它具有一个包含DoWhile(true)活动的序列。 在这个DoWhile的主体中,包含一个具有InvokeMethod和Delay的Sequence,InvokeMethod将调用包含静态方法的类。 延迟时间设置为一个小时。
所以这似乎都可以。 然后,我使用以下行通过Global.asax中的Application_Start启动此活动:
this.ActivityInvoker = new WorkflowInvoker(new NotificationActivity());
this.ActivityInvoker.InvokeAsync();
所以我只是测试它,它似乎是以设定的时间间隔运行我的自定义静态方法。
这一切都很好,但是现在我有三个与处理它的方式有关的问题:
任何帮助,指导等,非常感谢。
我很想回答一些很好的问题,然而在这样的论坛上尝试做一些将会很困难。 但让我们给它一个破解。 至少从头开始。
1)您的执行计划任务的方法没有任何问题。 我可以想到其他一些方法。 就像使用Do {Thread.Sleep()运行简单的工作者角色一样。 ...}简单但有效。 还有更复杂/更优雅的方法,包括使用外部库和框架来调度Azure中的任务。
2)你需要在你的工作流/作业处理引擎中实现某种单例类型模式。 例如,您可以在工作开始时获取1Kb blob记录的租约,并且不允许其他实例启动等。
对于更详细的答案,我建议我们将此线下线并拨打Skype电话,并详细讨论您的要求。 你知道如何通过电子邮件得到我:)期待它。
链接地址: http://www.djcxy.com/p/61525.html上一篇: Azure hosting Workflow Activity with Persistence for Windows8 Push Notification