private async Task HandleException(HttpContext context, Exception e)
        {
            context.Response.StatusCode  = 500;
            context.Response.ContentType = "text/json;charset=utf-8;";
            string error = "";

            if (environment.IsDevelopment())
            {
                var json = new { message = e.Message };
                error = JsonConvert.SerializeObject(json);
            }
            else
            {
                error = "抱歉,出错了\r\n" + e.Message + "\r\n" + e.StackTrace;
            }

            string info         = $@"StatusCode:{context.Response.StatusCode}";
            string remoteIpAddr = context.Connection.RemoteIpAddress.ToString();

            info = $@"{info}  Body: {error}";
            LogWebApiWriter.WriteWebApiLog(
                $@"OUTPUT    {remoteIpAddr}    {context.Request.Method}    {context.Request.Path}",
                info,
                ConsoleColor.Yellow);

            await context.Response.WriteAsync(error);
        }
 /// <summary>
 /// 请求中
 /// </summary>
 /// <param name="context"></param>
 public void OnActionExecuting(ActionExecutingContext context)
 {
     try
     {
         string remoteIpAddr = context.HttpContext.Connection.RemoteIpAddress.ToString();
         if (context.HttpContext.Request.Method.Equals("get", StringComparison.InvariantCultureIgnoreCase))
         {
             if (!context.HttpContext.Request.Path.Equals("/WebHook/MediaServerRegister"))
             {
                 LogWebApiWriter.WriteWebApiLog(
                     $@"INPUT    {remoteIpAddr}    {context.HttpContext.Request.Method}    {context.HttpContext.Request.Path}",
                     $@"{JsonConvert.SerializeObject(context.ActionArguments)}", ConsoleColor.Gray);
             }
         }
         else
         {
             if (!context.HttpContext.Request.Path.Equals("/WebHook/MediaServerRegister"))
             {
                 LogWebApiWriter.WriteWebApiLog(
                     $@"INPUT    {remoteIpAddr}    {context.HttpContext.Request.Method}    {context.HttpContext.Request.Path}",
                     $@"{JsonConvert.SerializeObject(context.ActionArguments)}", ConsoleColor.Gray);
             }
         }
     }
     catch
     {
     }
 }
        private async Task MyHandleException(HttpContext context, Exception e)
        {
            context.Response.StatusCode  = 400;
            context.Response.ContentType = "text/json;charset=utf-8;";
            string error        = e.Message;
            string info         = $@"StatusCode:{context.Response.StatusCode}";
            string remoteIpAddr = context.Connection.RemoteIpAddress.ToString();

            info = $@"{info}  Body: {error}";
            LogWebApiWriter.WriteWebApiLog(
                $@"OUTPUT    {remoteIpAddr}    {context.Request.Method}    {context.Request.Path}",
                info,
                ConsoleColor.Yellow);

            await context.Response.WriteAsync(error);
        }
 /// <summary>
 /// 请求后
 /// </summary>
 /// <param name="context"></param>
 public void OnActionExecuted(ActionExecutedContext context)
 {
     try
     {
         string info         = $@"StatusCode:{context.HttpContext.Response.StatusCode}";
         string remoteIpAddr = context.HttpContext.Connection.RemoteIpAddress.ToString();
         if (context.HttpContext.Response.StatusCode == (int)HttpStatusCode.OK)
         {
             if (!context.HttpContext.Request.Path.Equals("/WebHook/MediaServerRegister"))
             {
                 info =
                     $@"{info}  Body: {JsonConvert.SerializeObject(((context.Result as ObjectResult)!).Value)}";
                 LogWebApiWriter.WriteWebApiLog(
                     $@"OUTPUT    {remoteIpAddr}    {context.HttpContext.Request.Method}    {context.HttpContext.Request.Path}",
                     info,
                     ConsoleColor.Gray);
             }
         }
     }
     catch
     {
     }
 }
Esempio n. 5
0
 /// <summary>
 /// 请求后
 /// </summary>
 /// <param name="context"></param>
 public void OnActionExecuted(ActionExecutedContext context)
 {
     try
     {
         string info         = $@"StatusCode:{((context.Result as JsonResult)!).StatusCode}";
         string remoteIpAddr = context.HttpContext.Connection.RemoteIpAddress.ToString();
         if (((context.Result as JsonResult) !).StatusCode != (int)HttpStatusCode.OK)
         {
             info =
                 $@"{info}  Body: {JsonConvert.SerializeObject(((context.Result as JsonResult)!).Value as ResponseStruct)}";
             LogWebApiWriter.WriteWebApiLog(
                 $@"OUTPUT    {remoteIpAddr}    {context.HttpContext.Request.Method}    {context.HttpContext.Request.Path}",
                 info,
                 ConsoleColor.Yellow);
         }
         else
         {
             info = $@"{info}  Body: {JsonConvert.SerializeObject(((context.Result as JsonResult)!).Value)}";
             LogWebApiWriter.WriteWebApiLog(
                 $@"OUTPUT    {remoteIpAddr}    {context.HttpContext.Request.Method}    {context.HttpContext.Request.Path}",
                 info,
                 ConsoleColor.Gray);
         }
     }