Пример #1
0
        public IActionResult Error()
        {
            var viewModel = new ViewModels.Error {
                RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier
            };

            return(View(viewModel));
        }
Пример #2
0
        public async Task <IActionResult> Error()
        {
            var viewModel = new ViewModels.Error {
                RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier
            };

            return(await ForumViewResult.ViewResult(this, viewModel));
        }
Пример #3
0
        public ActionResult Index()
        {
            PageInfo.Title = "Elmah Unique Errors";
            PageInfo.Icon = "<i class=\"fa fa-exclamation-triangle fa-lg\"></i>";
            PageInfo.SubTitle = "Data Source: [ELMAH_Error] table.";
            ViewBag.PageInfo = PageInfo;

            var uri = Request.Url;

            string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["Elmah"].ConnectionString;

            Session["connectionString"] = connectionString;

            string sql = "SELECT Min(StatusCode) as Code, Min(Type)as Type, Max(Sequence) as MaxSequence, [Message] ,COUNT(Message) AS RCount, max(DATEADD(mi, DATEDIFF(mi, GETUTCDATE(), GETDATE()), [TimeUtc]) ) as Newest_MtnTime, min(DATEADD(mi, DATEDIFF(mi, GETUTCDATE(), GETDATE()), [TimeUtc]) ) as Oldest_MtnTime FROM [ELMAH_Error] GROUP BY Message ORDER BY MaxSequence DESC";

            SqlConnection conn = new SqlConnection(connectionString);
            SqlCommand cmd = new SqlCommand();

            if (TempData["ClearElmah"] != null)
            {
                try
                {
                    conn.Open();
                    cmd = new SqlCommand("Delete FROM [ELMAH_Error]", conn);
                    cmd.ExecuteReader();
                }
                finally
                {
                    cmd.Dispose();
                    conn.Close();
                }
            }

            conn.Open();
            cmd = new SqlCommand(sql, conn);
            SqlDataReader dr = cmd.ExecuteReader();

            var vmErrors = new List<ViewModels.Error>();
            try
            {
                while (dr.Read())
                {
                    var error = new ViewModels.Error
                    {
                        MaxSequence = Convert.ToInt32(dr["MaxSequence"].ToString()),
                        Message = dr["Message"].ToString(),
                        Count = Convert.ToInt32(dr["RCount"].ToString()),
                        Newest = Convert.ToDateTime(dr["Newest_MtnTime"].ToString()),
                        Oldest = Convert.ToDateTime(dr["Oldest_MtnTime"].ToString()),
                        Type = dr["Type"].ToString(),
                        Code = dr["Code"].ToString()
                    };

                    vmErrors.Add(error);
                }
            }
            finally
            {
                dr.Close();
                dr.Dispose();
                cmd.Dispose();
                conn.Close();
            }

            var vmError = new VmError
            {
                Errors = vmErrors,
                Sql = sql
            };

            return View("Index", vmError);
        }