2

我是新的 Azure 开发人员。我的场景类似于经理将通过网站/wp8 发布新主题/队列,并且工作人员应该在 wp8 中获得有关新添加的主题/队列的通知(通过推送通知)。此时我已经准备好所有的部分,例如主题/队列创建,发送接收。但它在拉动的基础上起作用。含义管理器可以创建主题并发布消息。然后工人必须订阅主题以接收消息并每次拉动以检查是否有任何新内容?

所以我想根据通知制作这个系统。我的意思是每当主题用户中新添加的任何内容都应该收到通知(通过推送通知)。那么你能建议我如何实现这个目标吗?如果添加或删除主题等,是否会从服务总线生成任何事件?提前致谢!

4

2 回答 2

2

不幸的是,创建队列/主题时没有“通知挂钩”。我推荐的两个选项是使用服务总线管理 API 定期扫描新队列/主题,或者更好的是,设置一个“通知主题”,然后您的工作角色实例可以收听该主题。将消息放入此主题可能是“管理器”进程在提供新主题/队列时执行的另一个操作。

然而,如果你能解释你想要完成的更大的场景,我不禁怀疑可能有更好的方法来完成你所追求的。一段时间后,所有这些主题/队列可能会带来一些管理挑战。

于 2014-02-12T13:50:08.543 回答
2

当然,当有新消息添加到主题时,我们确实有通知客户端的事件。使用消息泵机制,您可以使用有效订阅将客户端挂钩到主题消息。

本质上,下面的代码显示了如何订阅主题。

    static void Main(string[] args)
    {


        SubscriptionClient Client = null;

        OnMessageOptions options;
        string connectionString = "your topic Endpoint";

        Client =
           SubscriptionClient.CreateFromConnectionString
                   (connectionString, "YourTopicName", "YoursubscriberName");

        // Configure the callback options.
        options = new OnMessageOptions();
        options.AutoComplete = false;
        options.AutoRenewTimeout = TimeSpan.FromMinutes(1);

        Client.OnMessage((message) =>
        {
            try
            {
                 Console.WriteLine("Topic Message :  ID :" + message.MessageId + " , " + message.Label);


                message.Complete();



            }
            catch (Exception exp)
            {

                message.Abandon();
                Console.WriteLine("**Error Reciving Message**");

            }


        }, options);

        Console.ReadLine();
    }
于 2015-09-18T20:45:35.600 回答