Exemplo n.º 1
0
        /// <summary>
        /// Async method for add message to queue.
        /// </summary>
        /// <param name="message">queue message</param>
        /// <param name="callback">callback method</param>
        /// <param name="state">state object</param>
        /// <returns>async result</returns>
        public IAsyncResult BeginAddMessage(CloudQueueMessage message, AsyncCallback callback, ReliableState state)
        {
            state.Callback    = callback;
            state.TriggerTime = DateTime.UtcNow + CallbackTimeout;
            IAsyncResult result = this.cloudQueue.BeginAddMessage(message, callback, state);

            this.asyncResultCache.AddOrUpdate(state.MessageId, result, (key, value) => result);

            SessionBase.TraceSource.TraceEvent(TraceEventType.Information, 0,
                                               "Add message {0} to the local cache, client {1}",
                                               state.MessageId,
                                               this.clientId);

            return(result);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Async method for add message to queue.
        /// </summary>
        /// <param name="message">queue message</param>
        /// <param name="callback">callback method</param>
        /// <param name="state">state object</param>
        /// <returns>async result</returns>
        public IAsyncResult BeginAddMessage(CloudQueueMessage message, AsyncCallback callback, ReliableState state)
        {
            state.Callback = callback;

            state.TriggerTime = DateTime.UtcNow + CallbackTimeout;

            IAsyncResult result = this.cloudQueue.BeginAddMessage(message, callback, state);

            this.asyncResultCache.AddOrUpdate(state.MessageId, result, (key, value) => result);

            TraceUtils.TraceVerbose(
                "ReliableQueueClient",
                "BeginAddMessage",
                "Add message {0} to the local cache, client {1}",
                state.MessageId,
                this.clientId);

            return(result);
        }