首页 文章

如何从新添加的主题或队列中获取通知?

提问于
浏览
2

我是新的Azure开发人员 . 我的方案是管理员将通过网站/ wp8发布新主题/队列,工作人员应该在wp8中获得关于新添加的主题/队列的通知(通过推送通知) . 此时我已准备好所有部分,例如主题/队列创建,发送接收 . 但它有助于拉动基础 . 意义管理者可以创建主题并发布消息 . 那么工作人员必须订阅接收消息的主题并且每次都检查是否有新的东西?

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

2 回答

  • 2

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

    但是,如果你能够解释你想要完成的更大的场景,我不禁怀疑可能有更好的方法来完成你所追求的目标 . 经过一段时间后,所有这些主题/队列都可能带来一些管理挑战 .

  • 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();
        }
    

相关问题