src/NetCoreApp/Attributes/BaseExceptionAttribute.cs
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters;
using Microsoft.Extensions.Configuration;
using System;
using YL.Utils.Json;
using YL.Utils.Log;
namespace YL.NetCore.Attributes
{
public class BaseExceptionAttribute : ExceptionFilterAttribute
{
private readonly ILogUtil _logUtil;
private readonly IConfiguration _configuration;
public BaseExceptionAttribute(ILogUtil logUtil, IConfiguration configuration)
{
_logUtil = logUtil;
_configuration = configuration;
}
public override void OnException(ExceptionContext context)
{
if (!context.ExceptionHandled)
{
var header = context.HttpContext.Request.Headers["promise"];
//context.Exception.WriteToFile();
var data = context.RouteData;
var areaName = data.Values["area"];
var controllerName = data.Values["controller"];
var actionName = data.Values["action"];
var dt = context.Exception;
//错误日志
string flag = _configuration["Log:errorlog"];
if (flag.Equals("true", StringComparison.OrdinalIgnoreCase))
{
_logUtil.Debug(dt, $"{areaName}/{controllerName}/{actionName}");
}
//Task.Factory.StartNew(() =>
//{
// _logUtil.Debug(dt, dt.Message);
//});
//context.HttpContext.Response.StatusCode = 404;
//context.HttpContext.Response.Redirect("/Home/Error");
//context.HttpContext.Response.Redirect("404.html");
if (header == "promise")
{
context.Result = new ContentResult()
{
//Content = (false, "异常").JilToJson()
Content = (false, dt.Message).ToJsonL()
};
}
else if (context.HttpContext.Request.Headers["fileExcel"] == "fileExcel")
{
context.Result = new ContentResult()
{
Content = (false, "文件可能已损坏").ToJsonL()
};
}
else
后面还有 9 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。