public async Task SendNotificationAsync(string topic, MessageMemento message) { NotificationHubClient hub = NotificationHubClient .CreateClientFromConnectionString( _connectionString, "occdist"); var json = JsonConvert.SerializeObject(message); var notification = new WindowsNotification(json, new Dictionary<string, string> { {"X-WNS-Type", "wns/raw"} }); await hub.SendNotificationAsync(notification, topic); }
public static Message FromMemento(MessageMemento memento) { return new Message( memento.Topics.ToImmutableList(), memento.MessageType, memento.Predecessors .Select(h => new Predecessor(h.Role, MessageHash.Parse(h.Hash))) .ToImmutableList(), memento.ObjectId, memento.Body, MessageHash.Parse(memento.Hash)); }
public void WriteMessage(string topic, MessageMemento message) { var messageTable = OpenTable("Message"); var timestamp = DateTimeOffset.UtcNow.ToString("yyyyMMddHHmmssfffffff"); var entity = new MessageEntity(topic, timestamp); entity.Hash = message.Hash; entity.MessageType = message.MessageType; entity.Predecessors = JsonConvert.SerializeObject(message.Predecessors); entity.ObjectId = message.ObjectId; entity.Body = JsonConvert.SerializeObject(message.Body); var insert = TableOperation.Insert(entity); messageTable.Execute(insert); }