public Int64 QueueMessage(IQueuedMessage message) { ExpandoObject msg = PrepareMessage(message); IDataModel md = _dbContext.SaveModel(String.Empty, "a2messaging.[Message.Queue.Update]", msg); Int64 msgId = md.Eval <Int64>("Result.Id"); if (message.Immediately) { FireAndForget(SendMessageAsync(msgId)); } return(msgId); }
public ExpandoObject PrepareMessage(IQueuedMessage message) { String json = JsonConvert.SerializeObject(message); ExpandoObject msg = JsonConvert.DeserializeObject <ExpandoObject>(json, new ExpandoObjectConverter()); ConvertToNameValueArray(msg, "Parameters"); ConvertToNameValueArray(msg, "Environment"); var dm = new ExpandoObject(); dm.Set("Message", msg); return(dm); }
public async Task <Int64> QueueMessageAsync(IQueuedMessage message, Boolean immediately) { ExpandoObject msg = PrepareMessage(message); IDataModel md = await _dbContext.SaveModelAsync(String.Empty, "a2messaging.[Message.Queue.Update]", msg); Int64 msgId = md.Eval <Int64>("Result.Id"); if (message.Immediately) { /* * Task.Run(() => { * SendMessageAsync(msgId); * }); */ } return(msgId); }
public Task <Int64> QueueMessageAsync(IQueuedMessage message, Boolean immediately) { return(Task.FromResult(0L)); }
public Int64 QueueMessage(IQueuedMessage message) { return(0); }
/// <summary> /// Creates a new instance of an SQL popped message /// </summary> /// <param name="message">The queued message that should be encapsulated into a popped message</param> /// <param name="visibilityTimeoutInSeconds"> /// Until this time ellapses, no other process can access to this message in the queue. After that, it is free /// </param> /// <param name="popReceipt">The popreceipt of the popped message</param> public SqlPoppedMessage(IQueuedMessage message, int visibilityTimeoutInSeconds, string popReceipt) : this(message.MessageText, message.Id, message.ExpirationTime, message.InsertionTime, message.DequeueCount, visibilityTimeoutInSeconds, popReceipt) { }