예제 #1
0
파일: ServiceImpl.cs 프로젝트: yaq/yaq
        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;
        }
예제 #2
0
파일: ServiceImpl.cs 프로젝트: yaq/yaq
        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();
            }
        }