Method PublishAsync
PublishAsync(Message, DeliveryOption, Boolean)
This method is used to publish a message asynchronously in the cache with the specified Delivery
Declaration
Task PublishAsync(Message message, DeliveryOption deliverOption, bool notifyDeliveryFailure = false)
Parameters
Type | Name | Description |
---|---|---|
Message | message | Message to be published. |
Delivery |
deliverOption | Specifies delivery option. |
System. |
notifyDeliveryFailure | Specifies whether the MessageDeliveryFailure event required for this message. |
Returns
Type | Description |
---|---|
System. |
Returns the Task. |
Examples
The following example demonstrates how to publish a message asynchronously on a topic.
First, initialize the cache.
ICache cache = CacheManager.GetCache("myCache");
Then, get messaging service from the cache.
IMessagingService messagingService=cache.MessagingService;
Then, get topic from the messagingService.
ITopic topic=messagingService.GetTopic("mytopic");
if(topic==null) //If topic not exists create it.
{
topic=messagingService.CreateTopic("mytopic");
}
Then, publish message on the topic.
object payload = "mymessage";
Message message = new Message(payload); //creating message
topic.PublishAsync(message, DeliveryOption.All).ContinueWith(task =>
{
if (task.Status == TaskStatus.RanToCompletion)
{
Console.WriteLine("Message Published Successfully");
}
if (task.Status == TaskStatus.Faulted)
{
Console.WriteLine("Error has occurred");
}
if (task.Exception != null)
{
Console.WriteLine(task.Exception);
}
});