Ejemplo n.º 1
0
        public void 添加错误消息(String 异常描述, String 异常代码, String 异常信息, int 异常级别, int 异常类型, String 主机名称, String 方法名称, String 消息编码, String 绑定地址编码, int 异常信息状态, String 请求消息体, int 请求类型, String 请求密码, int 绑定类型)
        {
            //bool isAddOk = true;
            错误消息处理逻辑 错误逻辑 = new 错误消息处理逻辑();
            异常信息对象 异常对象 = new 异常信息对象();
            异常对象.异常时间 = System.DateTime.Now;
            异常对象.异常描述 = 异常描述.Trim();
            异常对象.异常代码 = 异常代码.Trim();
            异常对象.异常信息 = 异常信息.Trim();
            异常对象.异常级别 = 异常级别;
            异常对象.异常类型 = 异常类型;
            异常对象.主机名称 = 主机名称.Trim();
            异常对象.方法名称 = 方法名称.Trim();
            异常对象.请求密码 = 请求密码.Trim();
            异常对象.绑定类型 = 绑定类型;
            异常对象.请求类型 = 请求类型;
            异常对象.消息编码 = new Guid(消息编码);
            异常对象.绑定地址编码 = new Guid(绑定地址编码);
            异常对象.异常信息状态 = 异常信息状态;
            异常对象.请求消息体 = 请求消息体;
            XmlDocument document = new XmlDocument();
            document.LoadXml(请求消息体);

            string serviceName = document.DocumentElement.SelectSingleNode("服务名称").InnerText.Trim();
            string reqBeginTime = document.DocumentElement.SelectSingleNode("请求时间").InnerText.Trim();

            //Audit.AuditServcie auditServcie = new JN.ESB.Exception.Service.Audit.AuditServcie();
            //auditServcie.AddAuditBusiness(主机名称, 请求消息体, 消息编码, 方法名称, reqBeginTime, serviceName, 0);
            服务目录业务逻辑 UDDI = new 服务目录业务逻辑();
            List<个人> 系统管理员 = UDDI.获得系统管理员();
            if ((String.IsNullOrEmpty(绑定地址编码.Trim()) || 绑定地址编码.Trim() == "00000000-0000-0000-0000-000000000000"))
            {
                
                if(UDDI.获得绑定信息_服务名称(serviceName)!=null){
                    异常对象.绑定地址编码 = UDDI.获得绑定信息_服务名称(serviceName).服务地址编码;
                }
            }

            错误逻辑.创建错误消息(异常对象);

            try
            {
                if (!(异常对象.绑定地址编码.Value == Guid.Empty))
                {
                    服务地址 地址 = UDDI.获得绑定信息_服务地址编码(异常对象.绑定地址编码.Value);
                    个人 服务管理员 = UDDI.获得管理员_具体绑定服务(地址);
                    if (!(系统管理员.Contains(服务管理员)))
                        系统管理员.Add(服务管理员);
                    

                }
                this.发送OA邮件(异常对象, 系统管理员);
            }
            catch { }
            
            
        }
Ejemplo n.º 2
0
 public static Guid 添加异常信息(异常信息对象 异常对象)
 {
     Guid newId = Guid.NewGuid();
     try
     {
         异常对象.异常编码 = newId;
         execptionDC.异常信息对象.InsertOnSubmit(异常对象);
         execptionDC.SubmitChanges(System.Data.Linq.ConflictMode.ContinueOnConflict);
     }
     catch
     {
         newId = Guid.Empty;
     }
     return newId;
 }
Ejemplo n.º 3
0
        public static void 更新异常对象(异常信息对象 异常对象)
        {
            var 异常 = execptionDC.异常信息对象.Where(p => p.异常编码 == 异常对象.异常编码);
            foreach (var 异常单体 in 异常)
            {
                异常单体.绑定地址编码 = 异常对象.绑定地址编码;
                异常单体.消息编码 = 异常对象.消息编码;
                异常单体.异常编码 = 异常对象.异常编码;
                异常单体.异常代码 = 异常对象.异常代码;
                异常单体.异常级别 = 异常对象.异常级别;
                异常单体.异常类型 = 异常对象.异常类型;
                异常单体.异常描述 = 异常对象.异常描述;
                异常单体.异常时间 = 异常对象.异常时间;
                异常单体.异常信息状态 = 异常对象.异常信息状态;
                异常单体.主机名称 = 异常对象.主机名称;
                异常单体.请求消息体 = 异常对象.请求消息体;
                异常单体.方法名称 = 异常对象.方法名称;

            }
            execptionDC.SubmitChanges();
        }
Ejemplo n.º 4
0
        public bool 发送OA邮件(异常信息对象 异常对象, string 邮件地址)
        {
            string portalUrl = 获取门户地址();
            //string portalUrl = "http://10.30.4.101/EsbPortal";
            string detailLink = portalUrl + "/Exception/ResendRequestMsg.aspx?msgId=" + 异常对象.异常编码;

            return true;
            //OAMail.EmailService OA邮件服务 = new JN.ESB.Exception.Service.OAMail.EmailService();
            //string message =  String.Format("ESB服务有未成功的调用请求,请处理! <a href={0}>点击此处</a>查看详细信息", detailLink);//内容

            //string result = OA邮件服务.SendEmaiToOA("administrator", 邮件地址, "ESB服务调用异常通知", message, "");
            //if(result.Equals("1"))
            //    return true;
            //else
            //    return false;
        }
Ejemplo n.º 5
0
 public void 发送OA邮件(异常信息对象 异常对象, List<个人> 管理员)
 {
     foreach (个人 per in 管理员)
     {
         this.发送OA邮件(异常对象, per.邮件地址);
     }
 }
Ejemplo n.º 6
0
        /// <summary>
        /// 发生异常时,发送电子邮件通知服务管理员
        /// </summary>
        /// <param name="异常对象">待发送的异常信息对象</param>
        /// <param name="邮件地址">收件人邮件地址,多个收件人用分号隔开</param>
        /// <returns></returns>
        public bool 发送电子邮件(异常信息对象 异常对象, string 邮件地址) 
        {
            
            SmtpClient _smtpClient = new SmtpClient();
            _smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
            _smtpClient.Host = "127.0.0.1"; //指定SMTP服务器
            _smtpClient.Port = 25;
            _smtpClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
            string strFrom = "*****@*****.**";
            
            string portalUrl = 获取门户地址();
            string detailLink = portalUrl + "/Exception/ResendRequestMsg.aspx?msgId=" + 异常对象.异常编码;
            MailAddress from = new MailAddress(strFrom,"Esb管理员");
            
            char[] sp = new char[]{';'};
            string[] 管理员邮件地址 = 邮件地址.Trim().Split(sp);
            MailMessage _mailMessage = new MailMessage();
            _mailMessage.From = from;
            for (int i=0;i<管理员邮件地址.Length;i++)
            {
                MailAddress to = new MailAddress(管理员邮件地址[i]);
                _mailMessage.To.Add(to);
            }         

            _mailMessage.Subject = "服务调用异常通知";//主题          
            _mailMessage.IsBodyHtml = true;//设置为HTML格式
            _mailMessage.BodyEncoding = System.Text.Encoding.Default;//正文编码
            _mailMessage.Body = String.Format("ESB服务有未成功的调用请求,请处理! <a href={0}>点击此处</a>查看详细信息", detailLink);//内容
            
            
            _mailMessage.Priority = MailPriority.High;//优先级
            
            try
            {
                _smtpClient.Send(_mailMessage);
                return true;
            }
            catch(System.Exception e)
            {
                return false;
            }

        }
Ejemplo n.º 7
0
 public void 修改错误消息(异常信息对象 异常对象)
 {
     ExceptionDataAccess.更新异常对象(异常对象);
 }
Ejemplo n.º 8
0
 public void 错误消息处理(异常信息对象 异常对象,异常结果 处理结果)
 {
     异常对象.异常信息状态 = (int)处理结果;
     ExceptionDataAccess.更新异常对象(异常对象);
     //throw new System.NotImplementedException();
 }
Ejemplo n.º 9
0
 public void 创建错误消息(异常信息对象 异常对象)
 {
     ExceptionDataAccess.添加异常信息(异常对象);
     
     //throw new System.NotImplementedException();
 }