1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- using Cksoft.Data;
- using Cksoft.Unity;
- using DllEapEntity.OFILM;
- using Newtonsoft.Json;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Net.Http;
- using System.Text;
- namespace DllEapDal.OFILM
- {
- public class RabbitMQMonitorDal
- {
- /// <summary>
- /// 通过接口获取队列的信息
- /// </summary>
- /// <param name="ip"></param>
- /// <param name="errorinfo"></param>
- /// <returns></returns>
- public IEnumerable<RabbitMQQueueDetail> GetQueueInfo(string ip, ref string errorinfo)
- {
- var url = $"http://{ip}:15672/api/queues";
- //var paras = new Dictionary<string, object>();
- //paras.Add("page", 1);
- //paras.Add("page_size", 10000);
- //paras.Add("pagination", true);
- //paras.Add("use_regex", false);
- //var queryString = string.Join("&", paras.Keys.Select(c => $"{c}={paras[c]}"));
- //url = url + "?" + queryString;
- HttpClient client = HttpClientFactory.Create();
- client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic",
- "YWRtaW46YWRtaW4=");
- client.DefaultRequestHeaders.Add("Host", $"{ip}:15672");
- HttpResponseMessage response = client.GetAsync(url).Result;
- IEnumerable<RabbitMQQueueDetail> info = null;
- if (response.IsSuccessStatusCode)
- {
- info = JsonConvert.DeserializeObject<IEnumerable<RabbitMQQueueDetail>>(response.Content.ReadAsStringAsync().Result);
- }
- return info;
- }
- }
- }
|