懒得勤快 %!s(int64=5) %!d(string=hai) anos
pai
achega
c34e857650
Modificáronse 1 ficheiros con 30 adicións e 26 borrados
  1. 30 26
      src/Masuit.MyBlogs.Core/Controllers/ErrorController.cs

+ 30 - 26
src/Masuit.MyBlogs.Core/Controllers/ErrorController.cs

@@ -49,37 +49,41 @@ namespace Masuit.MyBlogs.Core.Controllers
         /// 503
         /// </summary>
         /// <returns></returns>
-        [Route("ServiceUnavailable"), ResponseCache(Duration = 36000)]
+        [Route("ServiceUnavailable")]
         public ActionResult ServiceUnavailable()
         {
             var feature = HttpContext.Features.Get<IExceptionHandlerPathFeature>();
-            string err;
-            var req = HttpContext.Request;
-            var ip = HttpContext.Connection.RemoteIpAddress.MapToIPv4().ToString();
-            switch (feature.Error)
+            if (feature != null)
             {
-                case DbUpdateConcurrencyException ex:
-                    err = $"异常源:{ex.Source},异常类型:{ex.GetType().Name},\n请求路径:{req.Scheme}://{req.Host}{HttpUtility.UrlDecode(req.Path)},客户端用户代理:{req.Headers["User-Agent"]},客户端IP:{ip}\t{ex.InnerException?.Message}\t";
-                    LogManager.Error(err, ex);
-                    break;
-                case DbUpdateException ex:
-                    err = $"异常源:{ex.Source},异常类型:{ex.GetType().Name},\n请求路径:{req.Scheme}://{req.Host}{HttpUtility.UrlDecode(req.Path)},客户端用户代理:{req.Headers["User-Agent"]},客户端IP:{ip}\t{ex?.InnerException?.Message}\t";
-                    LogManager.Error(err, ex);
-                    break;
-                case AggregateException ex:
-                    LogManager.Debug("↓↓↓" + ex.Message + "↓↓↓");
-                    ex.Handle(e =>
-                    {
-                        LogManager.Error($"异常源:{e.Source},异常类型:{e.GetType().Name},\n请求路径:{req.Scheme}://{req.Host}{HttpUtility.UrlDecode(req.Path)},客户端用户代理:{req.Headers["User-Agent"]},客户端IP:{ip}\t", e);
-                        return true;
-                    });
-                    break;
-                case NotFoundException _:
-                    return View("Index");
-                default:
-                    LogManager.Error($"异常源:{feature.Error.Source},异常类型:{feature.Error.GetType().Name},\n请求路径:{req.Scheme}://{req.Host}{HttpUtility.UrlDecode(req.Path)},客户端用户代理:{req.Headers["User-Agent"]},客户端IP:{ip}\t", feature.Error);
-                    break;
+                string err;
+                var req = HttpContext.Request;
+                var ip = HttpContext.Connection.RemoteIpAddress.MapToIPv4().ToString();
+                switch (feature.Error)
+                {
+                    case DbUpdateConcurrencyException ex:
+                        err = $"异常源:{ex.Source},异常类型:{ex.GetType().Name},\n请求路径:{req.Scheme}://{req.Host}{HttpUtility.UrlDecode(req.Path)},客户端用户代理:{req.Headers["User-Agent"]},客户端IP:{ip}\t{ex.InnerException?.Message}\t";
+                        LogManager.Error(err, ex);
+                        break;
+                    case DbUpdateException ex:
+                        err = $"异常源:{ex.Source},异常类型:{ex.GetType().Name},\n请求路径:{req.Scheme}://{req.Host}{HttpUtility.UrlDecode(req.Path)},客户端用户代理:{req.Headers["User-Agent"]},客户端IP:{ip}\t{ex?.InnerException?.Message}\t";
+                        LogManager.Error(err, ex);
+                        break;
+                    case AggregateException ex:
+                        LogManager.Debug("↓↓↓" + ex.Message + "↓↓↓");
+                        ex.Handle(e =>
+                        {
+                            LogManager.Error($"异常源:{e.Source},异常类型:{e.GetType().Name},\n请求路径:{req.Scheme}://{req.Host}{HttpUtility.UrlDecode(req.Path)},客户端用户代理:{req.Headers["User-Agent"]},客户端IP:{ip}\t", e);
+                            return true;
+                        });
+                        break;
+                    case NotFoundException _:
+                        return View("Index");
+                    default:
+                        LogManager.Error($"异常源:{feature.Error.Source},异常类型:{feature.Error.GetType().Name},\n请求路径:{req.Scheme}://{req.Host}{HttpUtility.UrlDecode(req.Path)},客户端用户代理:{req.Headers["User-Agent"]},客户端IP:{ip}\t", feature.Error);
+                        break;
+                }
             }
+
             if (Request.Method.ToLower().Equals("get"))
             {
                 Response.StatusCode = 503;