/// <summary> /// 获取配置 /// </summary> /// <returns></returns> public List <YK.Platform.Core.Model.Event> GetConfig() { List <YK.Platform.Core.Model.Event> result = new List <YK.Platform.Core.Model.Event>(); string fileUrl = Directory.GetCurrentDirectory() + @"\App_Data\Event.Config"; XmlDocument xd = new XmlDocument(); xd.Load(fileUrl); XmlNodeList xmlNodeList = xd.SelectSingleNode("EventConfig").SelectNodes("Events/Event"); //循环遍历 foreach (XmlNode item in xmlNodeList) { YK.Platform.Core.Model.Event eventEntity = new YK.Platform.Core.Model.Event(); eventEntity.Key = item.Attributes["Name"].Value; eventEntity.Remark = item.Attributes["Remark"].Value; XmlNodeList eventNodes = item.SelectNodes("Event"); foreach (XmlNode eventNode in eventNodes) { //循环遍历 foreach (XmlNode subscriberNode in eventNode.SelectSingleNode("Subscribers").ChildNodes) { Subscriber subscriber = new Subscriber(); subscriber.Url = subscriberNode.Attributes["Url"].Value; eventEntity.Subscribers.Add(subscriber); } result.Add(eventEntity); } } return(result); }
/// <summary> /// 执行 /// </summary> /// <param name="key"></param> /// <param name="data"></param> public void Execute(string key, object data) { YK.Platform.Core.Model.Event eventEntity = eventEntitys.Where(w => w.Key == key).FirstOrDefault(); if (eventEntity != null) { foreach (var item in eventEntity.Subscribers) { HttpWebRequestHelper request = new HttpWebRequestHelper(); request.Post(item.Url, Newtonsoft.Json.JsonConvert.SerializeObject(data)); } } }