国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - ASP.NET 通過攔截器記錄錯誤日志的示例代碼

ASP.NET 通過攔截器記錄錯誤日志的示例代碼

2021-12-13 16:56大穩·楊 ASP.NET教程

這篇文章主要介紹了ASP.NET 通過攔截器記錄錯誤日志的示例代碼,幫助大家更好的理解和學習使用.NET技術,感興趣的朋友可以了解下

前言

    主要是記錄一下實現的錯誤日志攔截,可以在攔截器里面控制返回的信息,把錯誤信息處理后返回給請求端。

攔截器

攔截器又稱過濾器。

asp.net mvc本身是自帶3種攔截器:Action攔截器、Result攔截器、Exception攔截器。 應用中常見的攔截器有日志攔截器(Action攔截器)和異常處理攔截器(Exception攔截器)。

java里spring mvc也常用攔截器來做些非干預業務邏輯的事,諸如實現HandlerInterceptor接口。

攔截器是AOP(面向切面編程)的一種應用。

攔截器要解決的問題:

1.代碼復用。攔截器可被復用
2.職責單一。比如廚師只負責炒菜,不管前期的洗菜、后續的送菜工作。菜變質了也是直接喊一聲就有人來處理。

這次我們用來記錄錯誤日志

代碼實戰

攔截器

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/// <summary>
/// 接口異常捕捉過濾器
/// </summary>
[AttributeUsage(AttributeTargets.All, AllowMultiple = false, Inherited = true)]
public class ApiErrorHandleAttribute : ExceptionFilterAttribute
{
    public override void OnException(HttpActionExecutedContext actionExecutedContext)
    {
        base.OnException(actionExecutedContext);
        actionExecutedContext.Response = GetResponse(actionExecutedContext);
    }
 
    /// <summary>
    /// 捕捉異常后響應方法
    /// </summary>
    private HttpResponseMessage GetResponse(HttpActionExecutedContext actionExecutedContext)
    {
        var requesthost = actionExecutedContext.ActionContext.Request.RequestUri.ToString();//當前請求的地址,包括ip加接口地址
        var method = actionExecutedContext.ActionContext.Request.Method.ToString();//當前請求是POST/GET/PUT/DELETE ……
        var controller = actionExecutedContext.ActionContext.ActionDescriptor.ControllerDescriptor.ControllerType.FullName;//當前請求的控制器所在全路徑:xxx.WebAPI.Controllers.xxxController
        var action = actionExecutedContext.ActionContext.ActionDescriptor.ActionName; //當前請求的方法
        var paramters = actionExecutedContext.ActionContext.ActionArguments; //獲取當前請求的參數
        var ip = HttpContext.Current.Request.UserHostAddress;
       
        LogHelper.Error($"錯誤信息:URL:{actionExecutedContext.Request.RequestUri},--參數信息:{paramters.ToJson()},--actionExecutedContext.Exception:{actionExecutedContext.Exception.ToJson()}");
        var response = new { code = 506, message = $"{actionExecutedContext.Exception.Message},URL:{actionExecutedContext.Request.RequestUri}", ex = actionExecutedContext.Exception };
       
        return JsonHelper.ToHttpResponseMessage(response);
    }
 
}

工具類方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public static class JsonHelper
{
    /// <summary>
    /// 轉化為json格式的HttpResponseMessage
    /// </summary>
    public static HttpResponseMessage ToHttpResponseMessage(object obj)
    {
        string str;
        if (obj is string || obj is char)
        {
            str = obj.ToString();
        }
        else
        {
            str = obj.ToJson();
        }
        var result = new HttpResponseMessage { Content = new StringContent(str, Encoding.GetEncoding("UTF-8"), "application/json") };
        return result;
    }
 
    /// <summary>
    /// 轉化為json字符串,默認的時間格式
    /// </summary>
    /// <param name="obj">要被轉化的對象</param>
    /// <returns>json字符串</returns>
    public static string ToJson(this object obj)
    {
        return JsonConvert.SerializeObject(obj, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore, DateFormatString = "yyyy-MM-dd HH:mm:ss" });
    }
}

以上就是ASP.NET 通過攔截器記錄錯誤日志的示例代碼的詳細內容,更多關于ASP.NET 記錄錯誤日志的資料請關注服務器之家其它相關文章!

原文鏈接:https://www.cnblogs.com/dawenyang/p/14668020.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 操久久 | 中文字幕高清在线观看 | 福利视频在线播放 | 91在线免费观看 | 久久久久久免费 | 亚洲精品一区二区 | 欧美日韩专区 | av电影免费在线 | 国产在线视频一区二区 | 国产精品99久久 | 一级久久久 | 亚洲高清久久 | 韩日中文字幕 | 欧美在线亚洲 | 中文字幕在线观看第一页 | 超碰在线9| 一区二区三区在线播放视频 | 久久黄色网 | 国产精品18久久久 | 亚洲国产传媒99综合 | 一级片av | 精品一区久久 | 一级片在线免费观看视频 | a久久久 | 久久久天堂国产精品女人 | 中文字幕日韩一区二区不卡 | 毛片免费看电影 | 一区二区三区国产在线观看 | 亚洲精品国产综合区久久久久久久 | 日韩精品免费在线视频 | 国产精品一区二区三区在线播放 | 一级毛片久久久 | 日本一区二区在线观看视频 | 国产成人精品一区二区三区福利 | 久久久久网站 | 亚洲一区二区三区四区五区午夜 | 国产高清视频一区 | 亚洲视频 欧美视频 | 精品久久久久国产 | 日韩欧美在线免费观看 | 亚洲国产精品一区二区第一页 |