private void SendMessage(string configName, string mobileMessage, string mailMessage) { ThreadPool.QueueUserWorkItem(state => { try { var configitem = AlarmConfigurationBase.GetConfig().AlarmConfigurationByStatistics.Values.FirstOrDefault(c => c.ConfigName == configName); if (configitem != null) { foreach (var groupName in configitem.AlarmReceiverGroupNames.Values) { var group = AlarmConfigurationBase.GetConfig().AlarmReceiverGroups.Values.FirstOrDefault(g => g.GroupName == groupName); foreach (var r in group.AlarmReceivers) { var admin = mongodbQueryService.GetAdminConfigurationInternal(r.Value.Name); if (admin != null) { if (group.EnableMobileMessage) { var mobile = new MobileItem { MobileNumber = admin.MobileNumber, MobileMessage = mobileMessage, }; mobileService.Send(new List <MobileItem> { mobile }); } if (group.EnableMailMessage) { var mail = new MailItem { MailTitle = mailMessage, MailBody = mailMessage, MailAddress = admin.MailAddress, }; mailService.Send(new List <MailItem> { mail }); } } } } } } catch (Exception ex) { ex.Handle("SendMessage"); throw; } }); }