【发布时间】:2017-07-13 19:45:24
【问题描述】:
我正在编写一些响应 Azure 服务总线队列的功能。这当前在指定队列上进行轮询,并且 OnMessage 触发对调用它的原始类中的方法的回调:
partial class Class1
{
private void BeginProcessing()
{
serviceBusHelper.Listen(QueueType.Inbound, HandleTransaction);
}
private bool HandleTransaction(BrokeredMessage message)
{
...
}
}
然后是服务总线助手类:
public class ServiceBusHelper : IServiceBusHelper
{
ManualResetEvent CompletedResetEvent = new ManualResetEvent(false);
public void Listen(QueueType queue, Action<BrokeredMessage> callback)
{
switch (queue)
{
case QueueType.Inbound:
inboundClient.OnMessage(message =>
{
try
{
callback(message);
}
catch (Exception ex)
{
...
}
CompletedResetEvent.WaitOne();
});
break;
...
}
}
它正确连接到 Azure 服务总线队列并检索消息,但回调似乎从未真正触发。我想要实现的是一个服务,它将持续响应 OnMessage 事件,触发一个新的工作人员(在 class1 内),尽管 OnMessage 实际上是从 ServiceBusHelper 类触发的。
【问题讨论】:
标签: c# azure service callback bus