Example #1
0
        /// <summary>
        /// 删除 aliMQ 上的消息
        /// </summary>
        /// <param name="msgHandle">msgHandle 查询时返回对象的属性</param>
        /// <returns>是否成功</returns>
        private bool DeleteMessage(String msgHandle)
        {
            long time = GetCurrentTimeMillis();

            String signString = TopicID + NEWLINE + ConsumerID + NEWLINE + msgHandle + NEWLINE + time;
            string sign       = SignString(signString, Ons_SecretKey);

            Dictionary <string, string> headers = new Dictionary <string, string>();

            headers.Add("Signature", sign);
            headers.Add("AccessKey", Ons_AccessKey);
            headers.Add("ConsumerID", ConsumerID);

            Dictionary <string, string> parameters = new Dictionary <string, string>();

            parameters.Add("topic", TopicID);
            parameters.Add("time", time.ToString());
            parameters.Add("timeout", "300000");
            parameters.Add("msgHandle", msgHandle);

            HttpWebResponseEx res = WebHttpHepper.SendRequest(Url, "DELETE", headers, parameters);

            if (res.StatusCode == HttpStatusCode.NoContent)
            {
                Console.WriteLine("delete message success: {0}{1}", msgHandle, res.RetureValue);
                return(true);
            }
            return(false);
        }
Example #2
0
        /// <summary>
        /// 从 AliMQ 拉取消息
        /// </summary>
        /// <returns>消息列表</returns>
        private List <OnsConsumerResult> PullMessageFromAli()
        {
            List <OnsConsumerResult> result = null;
            long time = GetCurrentTimeMillis();

            //数据签名
            String signString = TopicID + NEWLINE + ConsumerID + NEWLINE + time;
            string sign       = SignString(signString, Ons_SecretKey);

            Dictionary <string, string> headers = new Dictionary <string, string>();

            headers.Add("Signature", sign);
            headers.Add("AccessKey", Ons_AccessKey);
            headers.Add("ConsumerID", ConsumerID);

            Dictionary <string, string> parameters = new Dictionary <string, string>();

            parameters.Add("topic", TopicID);
            parameters.Add("time", time.ToString());
            parameters.Add("num", 32.ToString());
            parameters.Add("Signature", sign);

            HttpWebResponseEx res = WebHttpHepper.SendRequest(Url, "GET", headers, parameters);

            result = JSON.Deserialize <List <OnsConsumerResult> >(res.RetureValue);
            return(result);
        }