Methode PublishAsync
PublishAsync(Message, DeliveryOption, Boolean)
Diese Methode wird verwendet, um eine Nachricht asynchron im Cache mit dem angegebenen zu veröffentlichen Liefermöglichkeit und die Option, den Herausgeber zu benachrichtigen, wenn die Zustellung der Nachricht aufgrund eines Ablaufs, einer Entfernung oder eines internen Systemproblems fehlgeschlagen ist.
Erklärung
Task PublishAsync(Message message, DeliveryOption deliverOption, bool notifyDeliveryFailure = false)
Parameter
Typ | Name und Vorname | Beschreibung |
---|---|---|
Nachricht | Nachricht | Nachricht, die veröffentlicht werden soll. |
Liefermöglichkeit | DeliverOption | Gibt die Lieferoption an. |
System.Boolean | notifyDeliveryFailure | Gibt an, ob das MessageDeliveryFailure-Ereignis für diese Nachricht erforderlich ist. |
Rücksendungen
Typ | Beschreibung |
---|---|
System.Threading.Tasks.Task | Gibt die Aufgabe zurück. |
Beispiele
Das folgende Beispiel zeigt, wie eine Nachricht asynchron zu einem Thema veröffentlicht wird.
Initialisieren Sie zunächst den Cache.
ICache cache = CacheManager.GetCache("myCache");
Rufen Sie dann den Nachrichtendienst aus dem Cache ab.
IMessagingService messagingService=cache.MessagingService;
Rufen Sie dann das Thema vom MessagingService ab.
ITopic topic=messagingService.GetTopic("mytopic");
if(topic==null) //If topic not exists create it.
{
topic=messagingService.CreateTopic("mytopic");
}
Veröffentlichen Sie dann eine Nachricht zum Thema.
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);
}
});