Esempio n. 1
0
        public override void OnException(ExceptionContext filterContext)
        {
            string errorFormatted = "";
            Guid   guid           = Guid.NewGuid();
            var    replacements   = new Dictionary <string, string>();
            var    rd             = new RouteValueDictionary();

            rd.Add("id", guid.ToString());

            replacements.Add("|*EMAILLINK*|", UrlHelper.GenerateUrl("", "Index", "Email", rd, RouteTable.Routes, filterContext.RequestContext, false));
            replacements.Add("|*USER*|", filterContext.HttpContext.User.Identity.IsAuthenticated ? filterContext.HttpContext.User.Identity.Name : "Anonymous");
            replacements.Add("|*DATE*|", DateTime.Now.ToLongDateString() + " à " + DateTime.Now.Hour + ":" + DateTime.Now.Minute);
            replacements.Add("|*URL*|", filterContext.HttpContext.Request.Url.AbsoluteUri);
            replacements.Add("|*BROWSER*|", filterContext.HttpContext.Request.Browser.Browser + "  version : " + filterContext.HttpContext.Request.Browser.Version);
            replacements.Add("|*ENCODING*|", filterContext.HttpContext.Request.ContentEncoding.BodyName);
            replacements.Add("|*FORMKEYS*|", filterContext.HttpContext.Request.Form.Join(c => String.Format("\"{0}\" : \"{1}\"<br/>", c, filterContext.HttpContext.Request.Form[c]), ","));
            replacements.Add("|*HEADERS*|", filterContext.HttpContext.Request.Headers.Join(c => String.Format("\"{0}\" : \"{1}\"<br/>", c, filterContext.HttpContext.Request.Headers[c]), ","));
            replacements.Add("|*QUERYSTRING*|", filterContext.HttpContext.Request.QueryString.Join(c => String.Format("\"{0}\" : \"{1}\"<br/>", c, filterContext.HttpContext.Request.QueryString[c]), ","));
            replacements.Add("|*EXCEPTION*|", filterContext.Exception.ToString());


            MailSender.SendMessage("*****@*****.**", "[ERROR][Fast Arbitre] Une exception est apparue!", MailSender.GetHtmlAndReplaceData("~/Emails/ErrorMail.html", replacements), guid);

            base.OnException(filterContext);
        }