У меня есть служба Windows, работающая на Windows Server 2012, которая читает сообщения из служебной шины Azure (подписка) и обрабатывает сообщение. Недавно служба Windows перестала читать какие-либо сообщения. Будет начато чтение сообщений, если служба будет перезапущена. И продолжит обработку сообщений, пока не прекратит читать сообщения снова ( idle? ).
Не было ни сбоев, ни исключений, выданных службой.
Использует ReceiveMode.PeekLock.
пакет nuget: WindowsAzure.ServiceBus 3.0.8
Есть идеи, как решить эту проблему, чтобы служба постоянно читала сообщения?
var subscriptionDescription = new SubscriptionDescription("test TopicPath, "my SubscriptionName")
{
LockDuration = new TimeSpan(0, 0, 180),
MaxDeliveryCount = 2
};
...
Создать или обновить подписку на основе subscriptionDescription
...
var subscriptionClient = SubscriptionClient.CreateFromConnectionString("test ConnectionString", "test TopicPath","my SubscriptionName", ReceiveMode.PeekLock);
var onMessageOptions = new OnMessageOptions
{
MaxConcurrentCalls = 3,
AutoComplete = false
};
subscriptionClient.OnMessage(HandleMessage, onMessageOptions);
...
..
private void HandleMessage(BrokeredMessage brokeredMessage)
{
ProcessMessage(message);
brokeredMessage.SafeComplete();
}