中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ASP.NET Core 中如何使用Diagnostics中間件

發布時間:2021-07-15 14:31:23 來源:億速云 閱讀:233 作者:Leah 欄目:大數據

ASP.NET Core 中如何使用Diagnostics中間件,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

報告異常和錯誤信息

默認創建好的項目會自動在Startup中Configure 方法加上這一段

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

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

在開發環境下會顯示詳細的錯誤信息 app.UseDeveloperExceptionPage();,在非開發環境,跳轉至 app.UseExceptionHandler("/Home/Error"); /Home/Error頁。

如果你想一直展示錯誤信息就將app.UseDeveloperExceptionPage(); 放置在if 外面。或者在發布之后,將對應的系統環境調成Development 以顯示錯誤信息。

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

歡迎頁

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

啟動程序就會顯示如下頁面。有擴展方法,可以指定對應的頁面。

ASP.NET Core 中如何使用Diagnostics中間件

HTTP錯誤代碼頁

默認程序中404 或者500 等相關錯誤,并不會展示頁面,只會返回對應的代碼。

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

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

ASP.NET Core 中如何使用Diagnostics中間件

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

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

ASP.NET Core 中如何使用Diagnostics中間件

還可以使用

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

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

也可以使用

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

上面兩者的區別一個是跳轉,一個是執行。

日志查看Elm

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

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

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

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

篩選日志級別為Debug

然后再Configure 方法加入

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

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

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

ASP.NET Core 中如何使用Diagnostics中間件

看完上述內容,你們掌握ASP.NET Core 中如何使用Diagnostics中間件的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

五家渠市| 景东| 宁德市| 平湖市| 开远市| 盐边县| 镇坪县| 景东| 江津市| 桑植县| 奎屯市| 兴安县| 神农架林区| 泰宁县| 永德县| 朝阳市| 迭部县| 吉林省| 施秉县| 中超| 通许县| 屏山县| 图片| 新郑市| 江达县| 刚察县| 武川县| 永吉县| 双城市| 靖宇县| 阿鲁科尔沁旗| 南皮县| 湖口县| 红桥区| 达尔| 连山| 阳江市| 黄浦区| 洛隆县| 老河口市| 营口市|