コード例 #1
0
        public SentMessageWithCachedReplies(MessageId messageId, ReplyStream replyStream)
        {
            if (messageId == null) throw new ArgumentNullException("messageId");
            if (replyStream == null) throw new ArgumentNullException("replyStream");

            _messageId = messageId;
            _replyStream = replyStream;
        }
コード例 #2
0
        public ISentMessage CreateSentMessage(Message message)
        {
            CheckDisposed();

            var messageId = message.Headers.MessageId;
            var replyStreamExpiration = DateTime.UtcNow.Add(_replyTimeout);
            var newReplyStream = new ReplyStream();
            var replyStream = (ReplyStream) _cache.AddOrGetExisting(messageId, newReplyStream, replyStreamExpiration);
            // ReSharper disable once ConvertIfStatementToNullCoalescingExpression
            if (replyStream == null)
            {
                // MemoryCache.AddOrGetExisting returns null if the key does not
                // already exist, so use the one we just created. See:
                // http://msdn.microsoft.com/en-us/library/dd988741%28v=vs.110%29.aspx
                replyStream = newReplyStream;
            }
            return new SentMessageWithCachedReplies(messageId, replyStream);
        }