/// <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); }
/// <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); }