日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET Core 中间件Diagnostics使用

發(fā)布時間:2023/12/4 asp.net 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET Core 中间件Diagnostics使用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

ASP.NET Core 中間件(Middleware)Diagnostics使用。對于中間件的介紹可以查看之前的文章ASP.NET Core 開發(fā)-中間件(Middleware)。

Diagnostics中間件,主要功能是用于報告和處理ASP.NET Core中的異常和錯誤信息,以及診斷Entity Framework核心遷移錯誤。

其中還有其他幾項功能,歡迎頁,錯誤代碼頁、如404 頁等。以及一個還算不錯的日志查看功能,這個功能也是很多人需要的功能,直接在線查看日志。

下面來一一講解功能。

新建ASP.NET Core Web Application 項目-》Web應(yīng)用程序 選擇不進(jìn)行身份驗證。

創(chuàng)建好的項目,會自動引用Diagnostics 中間件。

NuGet引用:

Install-Package Microsoft.AspNetCore.Diagnostics

報告異常和錯誤信息

默認(rèn)創(chuàng)建好的項目會自動在Startup中Configure 方法加上這一段

if (env.IsDevelopment()){app.UseDeveloperExceptionPage();app.UseBrowserLink(); }
else{app.UseExceptionHandler("/Home/Error"); }

這就是異常信息的報告以及處理。

在開發(fā)環(huán)境下會顯示詳細(xì)的錯誤信息?app.UseDeveloperExceptionPage();,在非開發(fā)環(huán)境,跳轉(zhuǎn)至?app.UseExceptionHandler("/Home/Error");?/Home/Error頁。

如果你想一直展示錯誤信息就將app.UseDeveloperExceptionPage(); 放置在if 外面。或者在發(fā)布之后,將對應(yīng)的系統(tǒng)環(huán)境調(diào)成Development 以顯示錯誤信息。

項目中使用了EF Core 。可以添加 app.UseDatabaseErrorPage(); 以顯示EF Core 相關(guān)信息。

歡迎頁

在Startup.cs中的Configure 方法加入:app.UseWelcomePage();

啟動程序就會顯示如下頁面。有擴(kuò)展方法,可以指定對應(yīng)的頁面。

?

HTTP錯誤代碼頁

默認(rèn)程序中404 或者500 等相關(guān)錯誤,并不會展示頁面,只會返回對應(yīng)的代碼。

同樣在Startup.cs中的Configure 方法加入:app.UseStatusCodePages();

訪問不存在的頁面會顯示如下。

?

?

下面是簡單的自定義錯誤信息

app.UseStatusCodePages("text/plain", "Error, status code: {0} \r LineZero");

還可以使用

app.UseStatusCodePagesWithRedirects("~/errors/{0}"); // 相對根路徑

app.UseStatusCodePagesWithRedirects("/base/errors/{0}"); // 絕對路徑

也可以使用

app.UseStatusCodePagesWithReExecute("/error/http{0}");

上面兩者的區(qū)別一個是跳轉(zhuǎn),一個是執(zhí)行。

日志查看Elm

日志查看,也是Diagnostics 中間件的一個功能。用起來也比較方便。

需要額外添加一個?Microsoft.AspNetCore.Diagnostics.Elm 包。

安裝好包打開Startup.cs ,首先在?ConfigureServices 方法加入服務(wù)。

services.AddElm(elmOptions =>{elmOptions.Filter = (loggerName, loglevel) => loglevel == LogLevel.Debug;});

篩選日志級別為Debug

然后再Configure 方法加入

? ? ? ? ? ?app.UseElmPage();app.UseElmCapture();

?

app.UseElmPage(); 為指定日志顯示頁,app.UseElmCapture(); 記錄日志。

運行程序訪問?http://localhost:5000/Elm ,就可以查看一些信息記錄。

?

這個組件還是有一些問題,我們可以做一些改造,更符合實際情況。

官方GitHub:https://github.com/aspnet/Diagnostics

?原文地址:http://www.cnblogs.com/linezero/p/Diagnostics.html


.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關(guān)注


總結(jié)

以上是生活随笔為你收集整理的ASP.NET Core 中间件Diagnostics使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。