Мое приложение должно получать сообщение каждый раз, когда публикуется новое сообщение.Поэтому я использую метод OnMessage()
, упомянутый в документации Microsoft.
Когда публикуются новые сообщения, метод OnMessage()
не работает.Чтобы решить эту проблему, я поместил код в отдельную задачу с бесконечным циклом.Это кажется совершенно неправильным.
public void ReceiveMessageFromSubscription(string topicName, string subscriptioName)
{
Task.Factory.StartNew(() =>
{
while (true)
{
SubscriptionClient Client = SubscriptionClient.CreateFromConnectionString(connectionString, topicName, subscriptionName);
Client.OnMessage((message) =>
{
try
{
var message = brokerMessage.GetBody<MessageDto>();
newMessage.AnnounceNewMessage(message);
message.Complete();
}
catch (Exception ex)
{
message.Abandon();
}
});
}
});
}
Когда в подписке есть сообщение, должен вызываться метод OnMessage()
.Может кто-нибудь, пожалуйста, помогите мне с этим.