Skip to content

Instantly share code, notes, and snippets.

@tidusjar
Created March 21, 2019 22:01
Show Gist options
  • Save tidusjar/cd1b6d46c95f8a0cbe5d1895c1907ae5 to your computer and use it in GitHub Desktop.
Save tidusjar/cd1b6d46c95f8a0cbe5d1895c1907ae5 to your computer and use it in GitHub Desktop.
private static async Task<bool> DeferMessage(BrokeredMessage message)
{
await message.DeferAsync().ConfigureAwait(false);
var client = TopicClient.CreateFromConnectionString(ConnectionString, TopicName);
var obj = new DeferredMessageModel { SequenceNumber = message.SequenceNumber };
using (var ms = new MemoryStream())
using (var writer = new StreamWriter(ms))
using (var jsonWriter = new JsonTextWriter(writer))
{
var ser = new JsonSerializer();
ser.Serialize(jsonWriter, obj);
jsonWriter.Flush();
ms.Position = 0;
await client.SendAsync(new BrokeredMessage(ms)
{
Properties = { new KeyValuePair<string, object>("deferred", true) },
ScheduledEnqueueTimeUtc = DateTime.UtcNow.AddMinutes(-5)
}).ConfigureAwait(false);
}
return true;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment