public DeleteError DeleteMessage(string queueName, long messageId, string popReceipt) { using (var dc = new Data.MessageDataContext()) { var msg = dc.Messages.First(m => m.Id == messageId); if (msg == null) return DeleteError.NotFound; if (msg.Queue != queueName) return DeleteError.NotFound; if (msg.PopReceipt.GetValueOrDefault().ToString("N") != popReceipt) return DeleteError.LostOwnership; dc.Messages.DeleteOnSubmit(msg); dc.SubmitChanges(); } return DeleteError.Ok; }
public void PutMessage(string queueName, Message message, TimeSpan timeToLive) { var msg = new Data.Message(); msg.Queue = queueName; if (message.Content != null) msg.Content = message.Content; using (var dc = new Data.MessageDataContext()) { dc.Messages.InsertOnSubmit(msg); dc.SubmitChanges(); } }